Enter the directory of the maca folder on your drive and the name of the tissue you want to analyze.
tissue_of_interest = "Marrow"
Load the requisite packages and some additional helper functions.
library(here)
here() starts at /home/sinhar/github/tabula-muris
library(useful)
library(Seurat)
library(dplyr)
Attaching package: ‘dplyr’
The following objects are masked from ‘package:stats’:
filter, lag
The following objects are masked from ‘package:base’:
intersect, setdiff, setequal, union
library(Matrix)
library(ontologyIndex)
cell_ontology = get_ontology('https://raw.githubusercontent.com/obophenotype/cell-ontology/master/cl-basic.obo', extract_tags='everything')
validate_cell_ontology = function(cell_ontology_class){
in_cell_ontology = sapply(cell_ontology_class, function(x) is.element(x, cell_ontology$name) || is.na(x))
if (!all(in_cell_ontology)) {
message = paste0('"', cell_ontology_class[!in_cell_ontology], '" is not in the cell ontology
')
stop(message)
}
}
convert_to_cell_ontology_id = function(cell_ontology_class){
return(sapply(cell_ontology_class, function(x) as.vector(cell_ontology$id[cell_ontology$name == x])[1]))
}
save_dir = here('00_data_ingest', 'tissue_robj')
# read the metadata to get the plates we want
plate_metadata_filename = here('00_data_ingest', '00_facs_raw_data', 'metadata_FACS.csv')
plate_metadata <- read.csv(plate_metadata_filename, sep=",", header = TRUE)
colnames(plate_metadata)[1] <- "plate.barcode"
plate_metadata
Subset the metadata on the tissue.
tissue_plates = filter(plate_metadata, tissue == tissue_of_interest)[,c('plate.barcode','tissue','subtissue','mouse.sex')]
tissue_plates
Load the read count data.
#Load the gene names and set the metadata columns by opening the first file
filename = here('00_data_ingest', '00_facs_raw_data', 'FACS', paste0(tissue_of_interest, '-counts.csv'))
raw.data = read.csv(filename, sep=",", row.names=1)
# raw.data = data.frame(row.names = rownames(raw.data))
corner(raw.data)
Make a vector of plate barcodes for each cell
plate.barcodes = lapply(colnames(raw.data), function(x) strsplit(strsplit(x, "_")[[1]][1], '.', fixed=TRUE)[[1]][2])
head(plate.barcodes)
[[1]]
[1] "D042044"
[[2]]
[1] "D042044"
[[3]]
[1] "D042044"
[[4]]
[1] "D042044"
[[5]]
[1] "D042044"
[[6]]
[1] "D042044"
Use only the metadata rows corresponding to Bladder plates. Make a plate barcode dataframe to “expand” the per-plate metadata to be per-cell.
barcode.df = t.data.frame(as.data.frame(plate.barcodes))
rownames(barcode.df) = colnames(raw.data)
colnames(barcode.df) = c('plate.barcode')
head(barcode.df)
plate.barcode
A22.D042044.3_9_M.1.1 "D042044"
C5.D042044.3_9_M.1.1 "D042044"
D10.D042044.3_9_M.1.1 "D042044"
E13.D042044.3_9_M.1.1 "D042044"
F19.D042044.3_9_M.1.1 "D042044"
H2.D042044.3_9_M.1.1 "D042044"
rnames = row.names(barcode.df)
meta.data <- merge(barcode.df, plate_metadata, by='plate.barcode', sort = T)
row.names(meta.data) <- rnames
corner(meta.data)
# Sort cells by plate barcode because that's how the data was originally
meta.data = meta.data[order(meta.data$plate.barcode), ]
corner(meta.data)
raw.data = raw.data[, rownames(meta.data)]
corner(raw.data)
Process the raw data and load it into the Seurat object.
# Find ERCC's, compute the percent ERCC, and drop them from the raw data.
erccs <- grep(pattern = "^ERCC-", x = rownames(x = raw.data), value = TRUE)
percent.ercc <- Matrix::colSums(raw.data[erccs, ])/Matrix::colSums(raw.data)
ercc.index <- grep(pattern = "^ERCC-", x = rownames(x = raw.data), value = FALSE)
raw.data <- raw.data[-ercc.index,]
# Create the Seurat object with all the data
tiss <- CreateSeuratObject(raw.data = raw.data, project = tissue_of_interest,
min.cells = 5, min.genes = 5)
tiss <- AddMetaData(object = tiss, meta.data)
tiss <- AddMetaData(object = tiss, percent.ercc, col.name = "percent.ercc")
# Change default name for sums of counts from nUMI to nReads
colnames(tiss@meta.data)[colnames(tiss@meta.data) == 'nUMI'] <- 'nReads'
# Create metadata columns for cell_ontology_classs and subcell_ontology_classs
tiss@meta.data[,'free_annotation'] <- NA
tiss@meta.data[,'cell_ontology_class'] <- NA
tiss@meta.data[,'subcell_ontology_class'] <- NA
Calculate percent ribosomal genes.
ribo.genes <- grep(pattern = "^Rp[sl][[:digit:]]", x = rownames(x = tiss@data), value = TRUE)
percent.ribo <- Matrix::colSums(tiss@raw.data[ribo.genes, ])/Matrix::colSums(tiss@raw.data)
tiss <- AddMetaData(object = tiss, metadata = percent.ribo, col.name = "percent.ribo")
A sanity check: genes per cell vs reads per cell.
GenePlot(object = tiss, gene1 = "nReads", gene2 = "nGene", use.raw=T)
Filter out cells with few reads and few genes.
tiss <- FilterCells(object = tiss, subset.names = c("nGene", "nReads"),
low.thresholds = c(500, 50000), high.thresholds = c(25000, 2000000))
Normalize the data, then regress out correlation with total reads
tiss <- NormalizeData(object = tiss, scale.factor = 1e6)
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
tiss <- ScaleData(object = tiss)
[1] "Scaling data matrix"
|
| | 0%
|
|====== | 6%
|
|============ | 11%
|
|================== | 17%
|
|======================== | 22%
|
|============================== | 28%
|
|==================================== | 33%
|
|========================================== | 39%
|
|================================================ | 44%
|
|====================================================== | 50%
|
|============================================================ | 56%
|
|================================================================== | 61%
|
|======================================================================== | 67%
|
|============================================================================== | 72%
|
|==================================================================================== | 78%
|
|========================================================================================== | 83%
|
|================================================================================================ | 89%
|
|====================================================================================================== | 94%
|
|============================================================================================================| 100%
tiss <- FindVariableGenes(object = tiss, do.plot = TRUE, x.high.cutoff = Inf, y.cutoff = 0.5)
Calculating gene means
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating gene variance to mean ratios
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Run Principal Component Analysis.
tiss <- RunPCA(object = tiss, do.print = FALSE)
tiss <- ProjectPCA(object = tiss, do.print = FALSE)
Later on (in FindClusters and TSNE) you will pick a number of principal components to use. This has the effect of keeping the major directions of variation in the data and, ideally, supressing noise. There is no correct answer to the number to use, but a decent rule of thumb is to go until the plot plateaus.
PCElbowPlot(object = tiss)
Choose the number of principal components to use.
# Set number of principal components.
n.pcs = 12
The clustering is performed based on a nearest neighbors graph. Cells that have similar expression will be joined together. The Louvain algorithm looks for groups of cells with high modularity–more connections within the group than between groups. The resolution parameter determines the scale…higher resolution will give more clusters, lower resolution will give fewer.
For the top-level clustering, aim to under-cluster instead of over-cluster. It will be easy to subset groups and further analyze them below.
# Set resolution
res.used <- 0.5
tiss <- FindClusters(object = tiss, reduction.type = "pca", dims.use = 1:n.pcs,
resolution = res.used, print.output = 0, save.SNN = TRUE)
To visualize
# If cells are too spread out, you can raise the perplexity. If you have few cells, try a lower perplexity (but never less than 10).
tiss <- RunTSNE(object = tiss, dims.use = 1:n.pcs, seed.use = 10, perplexity=84)
# note that you can set do.label=T to help label individual clusters
TSNEPlot(object = tiss, do.label = T)
Check expression of genes of interset.
Dotplots let you see the intensity of exppression and the fraction of cells expressing for each of your genes of interest.
How big are the clusters?
table(tiss@ident)
0 1 2 3 4 5 6 7 8 9 10 11 12
679 671 514 438 391 369 358 329 292 290 207 187 172
Which markers identify a specific cluster?
clust.markers <- FindMarkers(object = tiss, ident.1 = 0, only.pos = TRUE, min.pct = 0.25, thresh.use = 0.25)
| | 0 % ~calculating
|+ | 1 % ~01m 38s
|++ | 2 % ~01m 36s
|++ | 3 % ~01m 32s
|+++ | 4 % ~01m 32s
|+++ | 5 % ~01m 31s
|++++ | 6 % ~01m 31s
|++++ | 7 % ~01m 30s
|+++++ | 9 % ~01m 29s
|+++++ | 10% ~01m 34s
|++++++ | 11% ~01m 32s
|++++++ | 12% ~01m 31s
|+++++++ | 13% ~01m 29s
|+++++++ | 14% ~01m 28s
|++++++++ | 15% ~01m 27s
|++++++++ | 16% ~01m 25s
|+++++++++ | 17% ~01m 24s
|++++++++++ | 18% ~01m 23s
|++++++++++ | 19% ~01m 21s
|+++++++++++ | 20% ~01m 20s
|+++++++++++ | 21% ~01m 19s
|++++++++++++ | 22% ~01m 18s
|++++++++++++ | 23% ~01m 17s
|+++++++++++++ | 24% ~01m 16s
|+++++++++++++ | 26% ~01m 15s
|++++++++++++++ | 27% ~01m 14s
|++++++++++++++ | 28% ~01m 13s
|+++++++++++++++ | 29% ~01m 12s
|+++++++++++++++ | 30% ~01m 11s
|++++++++++++++++ | 31% ~01m 10s
|++++++++++++++++ | 32% ~01m 09s
|+++++++++++++++++ | 33% ~01m 07s
|++++++++++++++++++ | 34% ~01m 06s
|++++++++++++++++++ | 35% ~01m 05s
|+++++++++++++++++++ | 36% ~01m 04s
|+++++++++++++++++++ | 37% ~01m 03s
|++++++++++++++++++++ | 38% ~01m 02s
|++++++++++++++++++++ | 39% ~01m 01s
|+++++++++++++++++++++ | 40% ~01m 00s
|+++++++++++++++++++++ | 41% ~59s
|++++++++++++++++++++++ | 43% ~58s
|++++++++++++++++++++++ | 44% ~57s
|+++++++++++++++++++++++ | 45% ~56s
|+++++++++++++++++++++++ | 46% ~55s
|++++++++++++++++++++++++ | 47% ~54s
|++++++++++++++++++++++++ | 48% ~52s
|+++++++++++++++++++++++++ | 49% ~52s
|+++++++++++++++++++++++++ | 50% ~50s
|++++++++++++++++++++++++++ | 51% ~49s
|+++++++++++++++++++++++++++ | 52% ~48s
|+++++++++++++++++++++++++++ | 53% ~47s
|++++++++++++++++++++++++++++ | 54% ~46s
|++++++++++++++++++++++++++++ | 55% ~45s
|+++++++++++++++++++++++++++++ | 56% ~44s
|+++++++++++++++++++++++++++++ | 57% ~43s
|++++++++++++++++++++++++++++++ | 59% ~42s
|++++++++++++++++++++++++++++++ | 60% ~41s
|+++++++++++++++++++++++++++++++ | 61% ~40s
|+++++++++++++++++++++++++++++++ | 62% ~39s
|++++++++++++++++++++++++++++++++ | 63% ~38s
|++++++++++++++++++++++++++++++++ | 64% ~37s
|+++++++++++++++++++++++++++++++++ | 65% ~36s
|+++++++++++++++++++++++++++++++++ | 66% ~35s
|++++++++++++++++++++++++++++++++++ | 67% ~33s
|+++++++++++++++++++++++++++++++++++ | 68% ~32s
|+++++++++++++++++++++++++++++++++++ | 69% ~31s
|++++++++++++++++++++++++++++++++++++ | 70% ~30s
|++++++++++++++++++++++++++++++++++++ | 71% ~29s
|+++++++++++++++++++++++++++++++++++++ | 72% ~28s
|+++++++++++++++++++++++++++++++++++++ | 73% ~27s
|++++++++++++++++++++++++++++++++++++++ | 74% ~26s
|++++++++++++++++++++++++++++++++++++++ | 76% ~25s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~24s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~23s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~22s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~21s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~19s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~18s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~17s
|+++++++++++++++++++++++++++++++++++++++++++ | 84% ~16s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~15s
|++++++++++++++++++++++++++++++++++++++++++++ | 86% ~14s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~13s
|+++++++++++++++++++++++++++++++++++++++++++++ | 88% ~12s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~11s
|++++++++++++++++++++++++++++++++++++++++++++++ | 90% ~10s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~09s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~08s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~06s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~05s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~04s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~03s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~02s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed = 01m 41s
print(x = head(x= clust.markers, n = 10))
You can also compute all markers for all clusters at once. This may take some time.
tiss.markers <- FindAllMarkers(object = tiss, only.pos = TRUE, min.pct = 0.25, thresh.use = 0.25)
| | 0 % ~calculating
|+ | 1 % ~04m 17s
|++ | 2 % ~04m 11s
|++ | 3 % ~04m 11s
|+++ | 4 % ~04m 11s
|+++ | 5 % ~04m 08s
|++++ | 6 % ~04m 06s
|++++ | 7 % ~04m 07s
|+++++ | 8 % ~04m 07s
|+++++ | 9 % ~04m 05s
|++++++ | 10% ~04m 02s
|++++++ | 11% ~03m 59s
|+++++++ | 12% ~03m 55s
|+++++++ | 13% ~03m 53s
|++++++++ | 14% ~03m 50s
|++++++++ | 15% ~03m 47s
|+++++++++ | 16% ~03m 44s
|+++++++++ | 17% ~03m 41s
|++++++++++ | 18% ~03m 39s
|++++++++++ | 19% ~03m 37s
|+++++++++++ | 20% ~03m 34s
|+++++++++++ | 21% ~03m 31s
|++++++++++++ | 22% ~03m 29s
|++++++++++++ | 23% ~03m 27s
|+++++++++++++ | 24% ~03m 24s
|+++++++++++++ | 26% ~03m 21s
|++++++++++++++ | 27% ~03m 18s
|++++++++++++++ | 28% ~03m 18s
|+++++++++++++++ | 29% ~03m 15s
|+++++++++++++++ | 30% ~03m 12s
|++++++++++++++++ | 31% ~03m 09s
|++++++++++++++++ | 32% ~03m 06s
|+++++++++++++++++ | 33% ~03m 03s
|+++++++++++++++++ | 34% ~03m 01s
|++++++++++++++++++ | 35% ~02m 58s
|++++++++++++++++++ | 36% ~02m 55s
|+++++++++++++++++++ | 37% ~02m 52s
|+++++++++++++++++++ | 38% ~02m 50s
|++++++++++++++++++++ | 39% ~02m 48s
|++++++++++++++++++++ | 40% ~02m 45s
|+++++++++++++++++++++ | 41% ~02m 42s
|+++++++++++++++++++++ | 42% ~02m 39s
|++++++++++++++++++++++ | 43% ~02m 36s
|++++++++++++++++++++++ | 44% ~02m 34s
|+++++++++++++++++++++++ | 45% ~02m 31s
|+++++++++++++++++++++++ | 46% ~02m 29s
|++++++++++++++++++++++++ | 47% ~02m 26s
|++++++++++++++++++++++++ | 48% ~02m 23s
|+++++++++++++++++++++++++ | 49% ~02m 20s
|+++++++++++++++++++++++++ | 50% ~02m 17s
|++++++++++++++++++++++++++ | 51% ~02m 15s
|+++++++++++++++++++++++++++ | 52% ~02m 12s
|+++++++++++++++++++++++++++ | 53% ~02m 09s
|++++++++++++++++++++++++++++ | 54% ~02m 06s
|++++++++++++++++++++++++++++ | 55% ~02m 03s
|+++++++++++++++++++++++++++++ | 56% ~01m 60s
|+++++++++++++++++++++++++++++ | 57% ~01m 57s
|++++++++++++++++++++++++++++++ | 58% ~01m 54s
|++++++++++++++++++++++++++++++ | 59% ~01m 51s
|+++++++++++++++++++++++++++++++ | 60% ~01m 48s
|+++++++++++++++++++++++++++++++ | 61% ~01m 46s
|++++++++++++++++++++++++++++++++ | 62% ~01m 43s
|++++++++++++++++++++++++++++++++ | 63% ~01m 40s
|+++++++++++++++++++++++++++++++++ | 64% ~01m 37s
|+++++++++++++++++++++++++++++++++ | 65% ~01m 34s
|++++++++++++++++++++++++++++++++++ | 66% ~01m 32s
|++++++++++++++++++++++++++++++++++ | 67% ~01m 29s
|+++++++++++++++++++++++++++++++++++ | 68% ~01m 26s
|+++++++++++++++++++++++++++++++++++ | 69% ~01m 23s
|++++++++++++++++++++++++++++++++++++ | 70% ~01m 20s
|++++++++++++++++++++++++++++++++++++ | 71% ~01m 18s
|+++++++++++++++++++++++++++++++++++++ | 72% ~01m 15s
|+++++++++++++++++++++++++++++++++++++ | 73% ~01m 12s
|++++++++++++++++++++++++++++++++++++++ | 74% ~01m 09s
|++++++++++++++++++++++++++++++++++++++ | 76% ~01m 07s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~01m 04s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~01m 01s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~58s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~55s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~53s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~50s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~47s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~45s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~42s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~39s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~36s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~33s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~31s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~28s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~25s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~22s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~20s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~17s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~14s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~11s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~08s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~06s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~03s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed = 04m 32s
| | 0 % ~calculating
|+ | 1 % ~06m 29s
|++ | 2 % ~06m 32s
|++ | 3 % ~06m 24s
|+++ | 4 % ~06m 23s
|+++ | 5 % ~06m 19s
|++++ | 6 % ~06m 22s
|++++ | 7 % ~06m 21s
|+++++ | 8 % ~06m 17s
|+++++ | 9 % ~06m 14s
|++++++ | 10% ~06m 11s
|++++++ | 11% ~06m 05s
|+++++++ | 12% ~06m 01s
|+++++++ | 13% ~05m 55s
|++++++++ | 14% ~05m 54s
|++++++++ | 15% ~05m 50s
|+++++++++ | 16% ~05m 46s
|+++++++++ | 17% ~05m 42s
|++++++++++ | 18% ~05m 38s
|++++++++++ | 19% ~05m 33s
|+++++++++++ | 20% ~05m 29s
|+++++++++++ | 21% ~05m 26s
|++++++++++++ | 22% ~05m 20s
|++++++++++++ | 23% ~05m 19s
|+++++++++++++ | 24% ~05m 14s
|+++++++++++++ | 25% ~05m 10s
|++++++++++++++ | 26% ~05m 09s
|++++++++++++++ | 27% ~05m 05s
|+++++++++++++++ | 28% ~05m 01s
|+++++++++++++++ | 29% ~04m 56s
|++++++++++++++++ | 30% ~04m 52s
|++++++++++++++++ | 31% ~04m 47s
|+++++++++++++++++ | 32% ~04m 42s
|+++++++++++++++++ | 33% ~04m 39s
|++++++++++++++++++ | 34% ~04m 34s
|++++++++++++++++++ | 35% ~04m 30s
|+++++++++++++++++++ | 36% ~04m 25s
|+++++++++++++++++++ | 37% ~04m 21s
|++++++++++++++++++++ | 38% ~04m 17s
|++++++++++++++++++++ | 39% ~04m 12s
|+++++++++++++++++++++ | 40% ~04m 08s
|+++++++++++++++++++++ | 41% ~04m 04s
|++++++++++++++++++++++ | 42% ~03m 60s
|++++++++++++++++++++++ | 43% ~03m 56s
|+++++++++++++++++++++++ | 44% ~03m 51s
|+++++++++++++++++++++++ | 45% ~03m 47s
|++++++++++++++++++++++++ | 46% ~03m 42s
|++++++++++++++++++++++++ | 47% ~03m 38s
|+++++++++++++++++++++++++ | 48% ~03m 34s
|+++++++++++++++++++++++++ | 49% ~03m 29s
|++++++++++++++++++++++++++ | 51% ~03m 25s
|++++++++++++++++++++++++++ | 52% ~03m 21s
|+++++++++++++++++++++++++++ | 53% ~03m 17s
|+++++++++++++++++++++++++++ | 54% ~03m 13s
|++++++++++++++++++++++++++++ | 55% ~03m 09s
|++++++++++++++++++++++++++++ | 56% ~03m 04s
|+++++++++++++++++++++++++++++ | 57% ~03m 00s
|+++++++++++++++++++++++++++++ | 58% ~02m 56s
|++++++++++++++++++++++++++++++ | 59% ~02m 52s
|++++++++++++++++++++++++++++++ | 60% ~02m 47s
|+++++++++++++++++++++++++++++++ | 61% ~02m 43s
|+++++++++++++++++++++++++++++++ | 62% ~02m 39s
|++++++++++++++++++++++++++++++++ | 63% ~02m 35s
|++++++++++++++++++++++++++++++++ | 64% ~02m 31s
|+++++++++++++++++++++++++++++++++ | 65% ~02m 27s
|+++++++++++++++++++++++++++++++++ | 66% ~02m 23s
|++++++++++++++++++++++++++++++++++ | 67% ~02m 18s
|++++++++++++++++++++++++++++++++++ | 68% ~02m 14s
|+++++++++++++++++++++++++++++++++++ | 69% ~02m 10s
|+++++++++++++++++++++++++++++++++++ | 70% ~02m 05s
|++++++++++++++++++++++++++++++++++++ | 71% ~02m 01s
|++++++++++++++++++++++++++++++++++++ | 72% ~01m 57s
|+++++++++++++++++++++++++++++++++++++ | 73% ~01m 53s
|+++++++++++++++++++++++++++++++++++++ | 74% ~01m 48s
|++++++++++++++++++++++++++++++++++++++ | 75% ~01m 44s
|++++++++++++++++++++++++++++++++++++++ | 76% ~01m 40s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~01m 36s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~01m 32s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~01m 28s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~01m 23s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~01m 19s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~01m 15s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~01m 11s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~01m 07s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~01m 03s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~58s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~54s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~50s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~46s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~42s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~38s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~33s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~29s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~25s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~21s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~17s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~13s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~08s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~04s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed = 06m 53s
| | 0 % ~calculating
|+ | 1 % ~04m 59s
|++ | 2 % ~06m 05s
|++ | 3 % ~05m 40s
|+++ | 4 % ~05m 25s
|+++ | 5 % ~05m 14s
|++++ | 6 % ~05m 06s
|++++ | 7 % ~04m 60s
|+++++ | 8 % ~04m 54s
|+++++ | 9 % ~04m 49s
|++++++ | 10% ~04m 44s
|++++++ | 11% ~04m 43s
|+++++++ | 12% ~04m 38s
|+++++++ | 13% ~04m 33s
|++++++++ | 14% ~04m 30s
|++++++++ | 15% ~04m 26s
|+++++++++ | 16% ~04m 22s
|+++++++++ | 17% ~04m 19s
|++++++++++ | 18% ~04m 16s
|++++++++++ | 19% ~04m 13s
|+++++++++++ | 20% ~04m 09s
|+++++++++++ | 21% ~04m 07s
|++++++++++++ | 22% ~04m 03s
|++++++++++++ | 23% ~04m 00s
|+++++++++++++ | 24% ~03m 59s
|+++++++++++++ | 25% ~03m 56s
|++++++++++++++ | 26% ~03m 52s
|++++++++++++++ | 27% ~03m 48s
|+++++++++++++++ | 28% ~03m 44s
|+++++++++++++++ | 29% ~03m 41s
|++++++++++++++++ | 30% ~03m 37s
|++++++++++++++++ | 31% ~03m 34s
|+++++++++++++++++ | 32% ~03m 30s
|+++++++++++++++++ | 33% ~03m 27s
|++++++++++++++++++ | 34% ~03m 24s
|++++++++++++++++++ | 35% ~03m 20s
|+++++++++++++++++++ | 36% ~03m 17s
|+++++++++++++++++++ | 37% ~03m 15s
|++++++++++++++++++++ | 38% ~03m 11s
|++++++++++++++++++++ | 39% ~03m 08s
|+++++++++++++++++++++ | 40% ~03m 04s
|+++++++++++++++++++++ | 41% ~03m 02s
|++++++++++++++++++++++ | 42% ~02m 59s
|++++++++++++++++++++++ | 43% ~02m 55s
|+++++++++++++++++++++++ | 44% ~02m 53s
|+++++++++++++++++++++++ | 45% ~02m 50s
|++++++++++++++++++++++++ | 46% ~02m 48s
|++++++++++++++++++++++++ | 47% ~02m 45s
|+++++++++++++++++++++++++ | 48% ~02m 41s
|+++++++++++++++++++++++++ | 49% ~02m 38s
|++++++++++++++++++++++++++ | 51% ~02m 35s
|++++++++++++++++++++++++++ | 52% ~02m 32s
|+++++++++++++++++++++++++++ | 53% ~02m 28s
|+++++++++++++++++++++++++++ | 54% ~02m 25s
|++++++++++++++++++++++++++++ | 55% ~02m 22s
|++++++++++++++++++++++++++++ | 56% ~02m 19s
|+++++++++++++++++++++++++++++ | 57% ~02m 15s
|+++++++++++++++++++++++++++++ | 58% ~02m 12s
|++++++++++++++++++++++++++++++ | 59% ~02m 09s
|++++++++++++++++++++++++++++++ | 60% ~02m 06s
|+++++++++++++++++++++++++++++++ | 61% ~02m 02s
|+++++++++++++++++++++++++++++++ | 62% ~01m 59s
|++++++++++++++++++++++++++++++++ | 63% ~01m 56s
|++++++++++++++++++++++++++++++++ | 64% ~01m 53s
|+++++++++++++++++++++++++++++++++ | 65% ~01m 50s
|+++++++++++++++++++++++++++++++++ | 66% ~01m 46s
|++++++++++++++++++++++++++++++++++ | 67% ~01m 43s
|++++++++++++++++++++++++++++++++++ | 68% ~01m 40s
|+++++++++++++++++++++++++++++++++++ | 69% ~01m 37s
|+++++++++++++++++++++++++++++++++++ | 70% ~01m 34s
|++++++++++++++++++++++++++++++++++++ | 71% ~01m 31s
|++++++++++++++++++++++++++++++++++++ | 72% ~01m 28s
|+++++++++++++++++++++++++++++++++++++ | 73% ~01m 25s
|+++++++++++++++++++++++++++++++++++++ | 74% ~01m 21s
|++++++++++++++++++++++++++++++++++++++ | 75% ~01m 18s
|++++++++++++++++++++++++++++++++++++++ | 76% ~01m 15s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~01m 12s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~01m 09s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~01m 06s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~01m 03s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~60s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~57s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~53s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~50s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~47s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~44s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~41s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~38s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~35s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~31s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~28s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~25s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~22s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~19s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~16s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~13s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~09s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~06s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~03s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed = 05m 11s
| | 0 % ~calculating
|+ | 1 % ~09m 04s
|+ | 2 % ~08m 51s
|++ | 3 % ~08m 42s
|++ | 4 % ~08m 42s
|+++ | 5 % ~08m 36s
|+++ | 6 % ~08m 30s
|++++ | 7 % ~08m 26s
|++++ | 8 % ~08m 21s
|+++++ | 9 % ~08m 19s
|+++++ | 10% ~08m 14s
|++++++ | 11% ~08m 10s
|++++++ | 12% ~08m 06s
|+++++++ | 13% ~08m 00s
|+++++++ | 14% ~07m 55s
|++++++++ | 15% ~07m 49s
|++++++++ | 16% ~07m 43s
|+++++++++ | 17% ~07m 37s
|+++++++++ | 18% ~07m 33s
|++++++++++ | 19% ~07m 27s
|++++++++++ | 20% ~07m 25s
|+++++++++++ | 21% ~07m 20s
|+++++++++++ | 22% ~07m 14s
|++++++++++++ | 23% ~07m 09s
|++++++++++++ | 24% ~07m 04s
|+++++++++++++ | 25% ~06m 58s
|+++++++++++++ | 26% ~06m 52s
|++++++++++++++ | 27% ~06m 49s
|++++++++++++++ | 28% ~06m 43s
|+++++++++++++++ | 29% ~06m 41s
|+++++++++++++++ | 30% ~06m 36s
|++++++++++++++++ | 31% ~06m 31s
|++++++++++++++++ | 32% ~06m 26s
|+++++++++++++++++ | 33% ~06m 19s
|+++++++++++++++++ | 34% ~06m 14s
|++++++++++++++++++ | 35% ~06m 08s
|++++++++++++++++++ | 36% ~06m 02s
|+++++++++++++++++++ | 37% ~05m 56s
|+++++++++++++++++++ | 38% ~05m 50s
|++++++++++++++++++++ | 39% ~05m 44s
|++++++++++++++++++++ | 40% ~05m 39s
|+++++++++++++++++++++ | 41% ~05m 33s
|+++++++++++++++++++++ | 42% ~05m 27s
|++++++++++++++++++++++ | 43% ~05m 21s
|++++++++++++++++++++++ | 44% ~05m 15s
|+++++++++++++++++++++++ | 45% ~05m 10s
|+++++++++++++++++++++++ | 46% ~05m 04s
|++++++++++++++++++++++++ | 47% ~04m 59s
|++++++++++++++++++++++++ | 48% ~04m 53s
|+++++++++++++++++++++++++ | 49% ~04m 49s
|+++++++++++++++++++++++++ | 50% ~04m 43s
|++++++++++++++++++++++++++ | 51% ~04m 37s
|++++++++++++++++++++++++++ | 52% ~04m 31s
|+++++++++++++++++++++++++++ | 53% ~04m 25s
|+++++++++++++++++++++++++++ | 54% ~04m 19s
|++++++++++++++++++++++++++++ | 55% ~04m 14s
|++++++++++++++++++++++++++++ | 56% ~04m 08s
|+++++++++++++++++++++++++++++ | 57% ~04m 03s
|+++++++++++++++++++++++++++++ | 58% ~03m 58s
|++++++++++++++++++++++++++++++ | 59% ~03m 52s
|++++++++++++++++++++++++++++++ | 60% ~03m 46s
|+++++++++++++++++++++++++++++++ | 61% ~03m 41s
|+++++++++++++++++++++++++++++++ | 62% ~03m 35s
|++++++++++++++++++++++++++++++++ | 63% ~03m 30s
|++++++++++++++++++++++++++++++++ | 64% ~03m 24s
|+++++++++++++++++++++++++++++++++ | 65% ~03m 18s
|+++++++++++++++++++++++++++++++++ | 66% ~03m 13s
|++++++++++++++++++++++++++++++++++ | 67% ~03m 07s
|++++++++++++++++++++++++++++++++++ | 68% ~03m 01s
|+++++++++++++++++++++++++++++++++++ | 69% ~02m 55s
|+++++++++++++++++++++++++++++++++++ | 70% ~02m 50s
|++++++++++++++++++++++++++++++++++++ | 71% ~02m 44s
|++++++++++++++++++++++++++++++++++++ | 72% ~02m 39s
|+++++++++++++++++++++++++++++++++++++ | 73% ~02m 33s
|+++++++++++++++++++++++++++++++++++++ | 74% ~02m 27s
|++++++++++++++++++++++++++++++++++++++ | 75% ~02m 22s
|++++++++++++++++++++++++++++++++++++++ | 76% ~02m 16s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~02m 11s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~02m 05s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~01m 60s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~01m 54s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~01m 48s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~01m 42s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~01m 37s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~01m 31s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~01m 25s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~01m 19s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~01m 14s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~01m 08s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~01m 02s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~57s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~51s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~45s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~40s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~34s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~28s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~23s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~17s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~11s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~06s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed = 09m 23s
| | 0 % ~calculating
|+ | 1 % ~07m 57s
|++ | 2 % ~07m 47s
|++ | 3 % ~07m 49s
|+++ | 4 % ~07m 43s
|+++ | 5 % ~07m 40s
|++++ | 6 % ~07m 33s
|++++ | 7 % ~07m 28s
|+++++ | 8 % ~07m 21s
|+++++ | 9 % ~07m 18s
|++++++ | 10% ~07m 13s
|++++++ | 11% ~07m 09s
|+++++++ | 12% ~07m 05s
|+++++++ | 13% ~07m 00s
|++++++++ | 14% ~06m 58s
|++++++++ | 15% ~06m 53s
|+++++++++ | 16% ~06m 47s
|+++++++++ | 17% ~06m 42s
|++++++++++ | 18% ~06m 38s
|++++++++++ | 19% ~06m 33s
|+++++++++++ | 20% ~06m 28s
|+++++++++++ | 21% ~06m 24s
|++++++++++++ | 22% ~06m 19s
|++++++++++++ | 23% ~06m 14s
|+++++++++++++ | 24% ~06m 10s
|+++++++++++++ | 25% ~06m 05s
|++++++++++++++ | 26% ~06m 04s
|++++++++++++++ | 27% ~05m 59s
|+++++++++++++++ | 28% ~05m 54s
|+++++++++++++++ | 29% ~05m 49s
|++++++++++++++++ | 30% ~05m 43s
|++++++++++++++++ | 31% ~05m 38s
|+++++++++++++++++ | 32% ~05m 33s
|+++++++++++++++++ | 33% ~05m 28s
|++++++++++++++++++ | 34% ~05m 23s
|++++++++++++++++++ | 35% ~05m 18s
|+++++++++++++++++++ | 36% ~05m 13s
|+++++++++++++++++++ | 37% ~05m 08s
|++++++++++++++++++++ | 38% ~05m 03s
|++++++++++++++++++++ | 39% ~04m 58s
|+++++++++++++++++++++ | 40% ~04m 53s
|+++++++++++++++++++++ | 41% ~04m 49s
|++++++++++++++++++++++ | 42% ~04m 44s
|++++++++++++++++++++++ | 43% ~04m 39s
|+++++++++++++++++++++++ | 44% ~04m 34s
|+++++++++++++++++++++++ | 45% ~04m 29s
|++++++++++++++++++++++++ | 46% ~04m 24s
|++++++++++++++++++++++++ | 47% ~04m 19s
|+++++++++++++++++++++++++ | 48% ~04m 14s
|+++++++++++++++++++++++++ | 49% ~04m 10s
|++++++++++++++++++++++++++ | 51% ~04m 05s
|++++++++++++++++++++++++++ | 52% ~04m 00s
|+++++++++++++++++++++++++++ | 53% ~03m 56s
|+++++++++++++++++++++++++++ | 54% ~03m 51s
|++++++++++++++++++++++++++++ | 55% ~03m 46s
|++++++++++++++++++++++++++++ | 56% ~03m 41s
|+++++++++++++++++++++++++++++ | 57% ~03m 36s
|+++++++++++++++++++++++++++++ | 58% ~03m 31s
|++++++++++++++++++++++++++++++ | 59% ~03m 26s
|++++++++++++++++++++++++++++++ | 60% ~03m 22s
|+++++++++++++++++++++++++++++++ | 61% ~03m 17s
|+++++++++++++++++++++++++++++++ | 62% ~03m 11s
|++++++++++++++++++++++++++++++++ | 63% ~03m 06s
|++++++++++++++++++++++++++++++++ | 64% ~03m 01s
|+++++++++++++++++++++++++++++++++ | 65% ~02m 56s
|+++++++++++++++++++++++++++++++++ | 66% ~02m 51s
|++++++++++++++++++++++++++++++++++ | 67% ~02m 46s
|++++++++++++++++++++++++++++++++++ | 68% ~02m 41s
|+++++++++++++++++++++++++++++++++++ | 69% ~02m 36s
|+++++++++++++++++++++++++++++++++++ | 70% ~02m 31s
|++++++++++++++++++++++++++++++++++++ | 71% ~02m 26s
|++++++++++++++++++++++++++++++++++++ | 72% ~02m 21s
|+++++++++++++++++++++++++++++++++++++ | 73% ~02m 16s
|+++++++++++++++++++++++++++++++++++++ | 74% ~02m 11s
|++++++++++++++++++++++++++++++++++++++ | 75% ~02m 06s
|++++++++++++++++++++++++++++++++++++++ | 76% ~02m 01s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~01m 56s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~01m 51s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~01m 46s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~01m 41s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~01m 36s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~01m 31s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~01m 26s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~01m 21s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~01m 16s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~01m 11s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~01m 06s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~01m 01s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~56s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~51s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~46s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~41s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~36s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~31s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~26s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~20s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~15s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~10s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~05s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed = 08m 27s
| | 0 % ~calculating
|+ | 1 % ~08m 17s
|++ | 2 % ~08m 09s
|++ | 3 % ~08m 01s
|+++ | 4 % ~07m 51s
|+++ | 5 % ~07m 44s
|++++ | 6 % ~07m 42s
|++++ | 7 % ~07m 37s
|+++++ | 8 % ~07m 31s
|+++++ | 9 % ~07m 24s
|++++++ | 10% ~07m 18s
|++++++ | 11% ~07m 14s
|+++++++ | 12% ~07m 06s
|+++++++ | 13% ~07m 00s
|++++++++ | 14% ~06m 55s
|++++++++ | 15% ~06m 52s
|+++++++++ | 16% ~06m 47s
|+++++++++ | 17% ~06m 41s
|++++++++++ | 18% ~06m 36s
|++++++++++ | 19% ~06m 31s
|+++++++++++ | 20% ~06m 26s
|+++++++++++ | 21% ~06m 23s
|++++++++++++ | 22% ~06m 17s
|++++++++++++ | 23% ~06m 16s
|+++++++++++++ | 24% ~06m 11s
|+++++++++++++ | 25% ~06m 06s
|++++++++++++++ | 26% ~06m 01s
|++++++++++++++ | 27% ~05m 56s
|+++++++++++++++ | 28% ~05m 52s
|+++++++++++++++ | 29% ~05m 47s
|++++++++++++++++ | 30% ~05m 42s
|++++++++++++++++ | 31% ~05m 37s
|+++++++++++++++++ | 32% ~05m 32s
|+++++++++++++++++ | 33% ~05m 30s
|++++++++++++++++++ | 34% ~05m 25s
|++++++++++++++++++ | 35% ~05m 19s
|+++++++++++++++++++ | 36% ~05m 14s
|+++++++++++++++++++ | 37% ~05m 09s
|++++++++++++++++++++ | 38% ~05m 04s
|++++++++++++++++++++ | 39% ~04m 59s
|+++++++++++++++++++++ | 40% ~04m 54s
|+++++++++++++++++++++ | 41% ~04m 49s
|++++++++++++++++++++++ | 42% ~04m 44s
|++++++++++++++++++++++ | 43% ~04m 38s
|+++++++++++++++++++++++ | 44% ~04m 33s
|+++++++++++++++++++++++ | 45% ~04m 28s
|++++++++++++++++++++++++ | 46% ~04m 23s
|++++++++++++++++++++++++ | 47% ~04m 18s
|+++++++++++++++++++++++++ | 48% ~04m 14s
|+++++++++++++++++++++++++ | 49% ~04m 08s
|++++++++++++++++++++++++++ | 51% ~04m 03s
|++++++++++++++++++++++++++ | 52% ~03m 58s
|+++++++++++++++++++++++++++ | 53% ~03m 53s
|+++++++++++++++++++++++++++ | 54% ~03m 48s
|++++++++++++++++++++++++++++ | 55% ~03m 43s
|++++++++++++++++++++++++++++ | 56% ~03m 38s
|+++++++++++++++++++++++++++++ | 57% ~03m 34s
|+++++++++++++++++++++++++++++ | 58% ~03m 29s
|++++++++++++++++++++++++++++++ | 59% ~03m 25s
|++++++++++++++++++++++++++++++ | 60% ~03m 20s
|+++++++++++++++++++++++++++++++ | 61% ~03m 15s
|+++++++++++++++++++++++++++++++ | 62% ~03m 10s
|++++++++++++++++++++++++++++++++ | 63% ~03m 05s
|++++++++++++++++++++++++++++++++ | 64% ~03m 00s
|+++++++++++++++++++++++++++++++++ | 65% ~02m 56s
|+++++++++++++++++++++++++++++++++ | 66% ~02m 50s
|++++++++++++++++++++++++++++++++++ | 67% ~02m 46s
|++++++++++++++++++++++++++++++++++ | 68% ~02m 41s
|+++++++++++++++++++++++++++++++++++ | 69% ~02m 36s
|+++++++++++++++++++++++++++++++++++ | 70% ~02m 31s
|++++++++++++++++++++++++++++++++++++ | 71% ~02m 26s
|++++++++++++++++++++++++++++++++++++ | 72% ~02m 21s
|+++++++++++++++++++++++++++++++++++++ | 73% ~02m 16s
|+++++++++++++++++++++++++++++++++++++ | 74% ~02m 11s
|++++++++++++++++++++++++++++++++++++++ | 75% ~02m 06s
|++++++++++++++++++++++++++++++++++++++ | 76% ~02m 01s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~01m 56s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~01m 51s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~01m 46s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~01m 41s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~01m 36s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~01m 31s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~01m 26s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~01m 21s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~01m 16s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~01m 11s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~01m 06s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~01m 01s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~56s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~51s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~46s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~40s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~35s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~30s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~25s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~20s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~15s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~10s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~05s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed = 08m 17s
| | 0 % ~calculating
|+ | 1 % ~03m 17s
|++ | 2 % ~03m 16s
|++ | 3 % ~03m 15s
|+++ | 4 % ~03m 15s
|+++ | 5 % ~03m 15s
|++++ | 6 % ~03m 12s
|++++ | 7 % ~03m 13s
|+++++ | 8 % ~03m 13s
|+++++ | 9 % ~03m 10s
|++++++ | 10% ~03m 07s
|++++++ | 11% ~03m 03s
|+++++++ | 12% ~03m 01s
|+++++++ | 13% ~02m 57s
|++++++++ | 14% ~02m 55s
|++++++++ | 15% ~02m 53s
|+++++++++ | 16% ~02m 50s
|+++++++++ | 17% ~02m 48s
|++++++++++ | 18% ~02m 47s
|++++++++++ | 19% ~02m 45s
|+++++++++++ | 20% ~02m 44s
|+++++++++++ | 21% ~02m 41s
|++++++++++++ | 22% ~02m 39s
|++++++++++++ | 23% ~02m 37s
|+++++++++++++ | 24% ~02m 35s
|+++++++++++++ | 26% ~02m 34s
|++++++++++++++ | 27% ~02m 33s
|++++++++++++++ | 28% ~02m 31s
|+++++++++++++++ | 29% ~02m 29s
|+++++++++++++++ | 30% ~02m 27s
|++++++++++++++++ | 31% ~02m 24s
|++++++++++++++++ | 32% ~02m 22s
|+++++++++++++++++ | 33% ~02m 20s
|+++++++++++++++++ | 34% ~02m 19s
|++++++++++++++++++ | 35% ~02m 16s
|++++++++++++++++++ | 36% ~02m 14s
|+++++++++++++++++++ | 37% ~02m 12s
|+++++++++++++++++++ | 38% ~02m 10s
|++++++++++++++++++++ | 39% ~02m 07s
|++++++++++++++++++++ | 40% ~02m 05s
|+++++++++++++++++++++ | 41% ~02m 03s
|+++++++++++++++++++++ | 42% ~02m 01s
|++++++++++++++++++++++ | 43% ~01m 59s
|++++++++++++++++++++++ | 44% ~01m 58s
|+++++++++++++++++++++++ | 45% ~01m 56s
|+++++++++++++++++++++++ | 46% ~01m 54s
|++++++++++++++++++++++++ | 47% ~01m 52s
|++++++++++++++++++++++++ | 48% ~01m 50s
|+++++++++++++++++++++++++ | 49% ~01m 47s
|+++++++++++++++++++++++++ | 50% ~01m 45s
|++++++++++++++++++++++++++ | 51% ~01m 43s
|+++++++++++++++++++++++++++ | 52% ~01m 41s
|+++++++++++++++++++++++++++ | 53% ~01m 39s
|++++++++++++++++++++++++++++ | 54% ~01m 37s
|++++++++++++++++++++++++++++ | 55% ~01m 35s
|+++++++++++++++++++++++++++++ | 56% ~01m 33s
|+++++++++++++++++++++++++++++ | 57% ~01m 30s
|++++++++++++++++++++++++++++++ | 58% ~01m 28s
|++++++++++++++++++++++++++++++ | 59% ~01m 26s
|+++++++++++++++++++++++++++++++ | 60% ~01m 24s
|+++++++++++++++++++++++++++++++ | 61% ~01m 22s
|++++++++++++++++++++++++++++++++ | 62% ~01m 20s
|++++++++++++++++++++++++++++++++ | 63% ~01m 18s
|+++++++++++++++++++++++++++++++++ | 64% ~01m 16s
|+++++++++++++++++++++++++++++++++ | 65% ~01m 14s
|++++++++++++++++++++++++++++++++++ | 66% ~01m 12s
|++++++++++++++++++++++++++++++++++ | 67% ~01m 10s
|+++++++++++++++++++++++++++++++++++ | 68% ~01m 07s
|+++++++++++++++++++++++++++++++++++ | 69% ~01m 05s
|++++++++++++++++++++++++++++++++++++ | 70% ~01m 03s
|++++++++++++++++++++++++++++++++++++ | 71% ~01m 01s
|+++++++++++++++++++++++++++++++++++++ | 72% ~58s
|+++++++++++++++++++++++++++++++++++++ | 73% ~56s
|++++++++++++++++++++++++++++++++++++++ | 74% ~54s
|++++++++++++++++++++++++++++++++++++++ | 76% ~52s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~50s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~48s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~45s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~43s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~41s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~39s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~37s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~34s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~32s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~30s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~28s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~26s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~24s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~21s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~19s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~17s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~15s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~13s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~11s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~09s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~06s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~04s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~02s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed = 03m 28s
| | 0 % ~calculating
|+ | 1 % ~04m 50s
|+ | 2 % ~04m 53s
|++ | 3 % ~04m 54s
|++ | 4 % ~04m 51s
|+++ | 5 % ~04m 46s
|+++ | 6 % ~04m 40s
|++++ | 7 % ~04m 36s
|++++ | 8 % ~04m 32s
|+++++ | 9 % ~04m 27s
|+++++ | 10% ~04m 23s
|++++++ | 11% ~04m 19s
|++++++ | 12% ~04m 15s
|+++++++ | 13% ~04m 13s
|+++++++ | 14% ~04m 13s
|++++++++ | 15% ~04m 11s
|++++++++ | 16% ~04m 09s
|+++++++++ | 17% ~04m 07s
|+++++++++ | 18% ~04m 04s
|++++++++++ | 19% ~04m 01s
|++++++++++ | 20% ~03m 59s
|+++++++++++ | 21% ~03m 57s
|+++++++++++ | 22% ~03m 55s
|++++++++++++ | 23% ~03m 52s
|++++++++++++ | 24% ~03m 49s
|+++++++++++++ | 25% ~03m 48s
|+++++++++++++ | 26% ~03m 44s
|++++++++++++++ | 27% ~03m 41s
|++++++++++++++ | 28% ~03m 38s
|+++++++++++++++ | 29% ~03m 36s
|+++++++++++++++ | 30% ~03m 33s
|++++++++++++++++ | 31% ~03m 30s
|++++++++++++++++ | 32% ~03m 30s
|+++++++++++++++++ | 33% ~03m 26s
|+++++++++++++++++ | 34% ~03m 23s
|++++++++++++++++++ | 35% ~03m 19s
|++++++++++++++++++ | 36% ~03m 16s
|+++++++++++++++++++ | 37% ~03m 13s
|+++++++++++++++++++ | 38% ~03m 10s
|++++++++++++++++++++ | 39% ~03m 07s
|++++++++++++++++++++ | 40% ~03m 04s
|+++++++++++++++++++++ | 41% ~03m 01s
|+++++++++++++++++++++ | 42% ~02m 59s
|++++++++++++++++++++++ | 43% ~02m 56s
|++++++++++++++++++++++ | 44% ~02m 53s
|+++++++++++++++++++++++ | 45% ~02m 50s
|+++++++++++++++++++++++ | 46% ~02m 48s
|++++++++++++++++++++++++ | 47% ~02m 45s
|++++++++++++++++++++++++ | 48% ~02m 42s
|+++++++++++++++++++++++++ | 49% ~02m 39s
|+++++++++++++++++++++++++ | 50% ~02m 36s
|++++++++++++++++++++++++++ | 51% ~02m 33s
|++++++++++++++++++++++++++ | 52% ~02m 30s
|+++++++++++++++++++++++++++ | 53% ~02m 27s
|+++++++++++++++++++++++++++ | 54% ~02m 24s
|++++++++++++++++++++++++++++ | 55% ~02m 21s
|++++++++++++++++++++++++++++ | 56% ~02m 18s
|+++++++++++++++++++++++++++++ | 57% ~02m 15s
|+++++++++++++++++++++++++++++ | 58% ~02m 11s
|++++++++++++++++++++++++++++++ | 59% ~02m 08s
|++++++++++++++++++++++++++++++ | 60% ~02m 05s
|+++++++++++++++++++++++++++++++ | 61% ~02m 02s
|+++++++++++++++++++++++++++++++ | 62% ~01m 59s
|++++++++++++++++++++++++++++++++ | 63% ~01m 56s
|++++++++++++++++++++++++++++++++ | 64% ~01m 53s
|+++++++++++++++++++++++++++++++++ | 65% ~01m 50s
|+++++++++++++++++++++++++++++++++ | 66% ~01m 46s
|++++++++++++++++++++++++++++++++++ | 67% ~01m 43s
|++++++++++++++++++++++++++++++++++ | 68% ~01m 40s
|+++++++++++++++++++++++++++++++++++ | 69% ~01m 37s
|+++++++++++++++++++++++++++++++++++ | 70% ~01m 34s
|++++++++++++++++++++++++++++++++++++ | 71% ~01m 31s
|++++++++++++++++++++++++++++++++++++ | 72% ~01m 28s
|+++++++++++++++++++++++++++++++++++++ | 73% ~01m 24s
|+++++++++++++++++++++++++++++++++++++ | 74% ~01m 21s
|++++++++++++++++++++++++++++++++++++++ | 75% ~01m 18s
|++++++++++++++++++++++++++++++++++++++ | 76% ~01m 15s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~01m 12s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~01m 09s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~01m 06s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~01m 03s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~01m 00s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~57s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~54s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~51s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~48s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~44s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~41s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~38s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~35s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~32s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~29s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~26s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~22s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~19s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~16s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~13s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~10s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~06s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~03s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed = 05m 18s
| | 0 % ~calculating
|+ | 1 % ~06m 14s
|++ | 2 % ~06m 05s
|++ | 3 % ~05m 59s
|+++ | 4 % ~05m 50s
|+++ | 5 % ~05m 47s
|++++ | 6 % ~05m 49s
|++++ | 7 % ~05m 46s
|+++++ | 8 % ~05m 43s
|+++++ | 9 % ~05m 40s
|++++++ | 10% ~05m 36s
|++++++ | 11% ~05m 33s
|+++++++ | 12% ~05m 31s
|+++++++ | 13% ~05m 28s
|++++++++ | 14% ~05m 25s
|++++++++ | 15% ~05m 21s
|+++++++++ | 16% ~05m 19s
|+++++++++ | 17% ~05m 18s
|++++++++++ | 18% ~05m 15s
|++++++++++ | 19% ~05m 12s
|+++++++++++ | 20% ~05m 08s
|+++++++++++ | 21% ~05m 06s
|++++++++++++ | 22% ~05m 01s
|++++++++++++ | 23% ~04m 57s
|+++++++++++++ | 24% ~04m 53s
|+++++++++++++ | 26% ~04m 49s
|++++++++++++++ | 27% ~04m 45s
|++++++++++++++ | 28% ~04m 44s
|+++++++++++++++ | 29% ~04m 39s
|+++++++++++++++ | 30% ~04m 36s
|++++++++++++++++ | 31% ~04m 31s
|++++++++++++++++ | 32% ~04m 28s
|+++++++++++++++++ | 33% ~04m 24s
|+++++++++++++++++ | 34% ~04m 20s
|++++++++++++++++++ | 35% ~04m 17s
|++++++++++++++++++ | 36% ~04m 12s
|+++++++++++++++++++ | 37% ~04m 09s
|+++++++++++++++++++ | 38% ~04m 04s
|++++++++++++++++++++ | 39% ~03m 60s
|++++++++++++++++++++ | 40% ~03m 57s
|+++++++++++++++++++++ | 41% ~03m 53s
|+++++++++++++++++++++ | 42% ~03m 49s
|++++++++++++++++++++++ | 43% ~03m 45s
|++++++++++++++++++++++ | 44% ~03m 41s
|+++++++++++++++++++++++ | 45% ~03m 37s
|+++++++++++++++++++++++ | 46% ~03m 32s
|++++++++++++++++++++++++ | 47% ~03m 28s
|++++++++++++++++++++++++ | 48% ~03m 24s
|+++++++++++++++++++++++++ | 49% ~03m 20s
|+++++++++++++++++++++++++ | 50% ~03m 16s
|++++++++++++++++++++++++++ | 51% ~03m 12s
|+++++++++++++++++++++++++++ | 52% ~03m 08s
|+++++++++++++++++++++++++++ | 53% ~03m 04s
|++++++++++++++++++++++++++++ | 54% ~02m 60s
|++++++++++++++++++++++++++++ | 55% ~02m 56s
|+++++++++++++++++++++++++++++ | 56% ~02m 52s
|+++++++++++++++++++++++++++++ | 57% ~02m 48s
|++++++++++++++++++++++++++++++ | 58% ~02m 44s
|++++++++++++++++++++++++++++++ | 59% ~02m 40s
|+++++++++++++++++++++++++++++++ | 60% ~02m 36s
|+++++++++++++++++++++++++++++++ | 61% ~02m 32s
|++++++++++++++++++++++++++++++++ | 62% ~02m 28s
|++++++++++++++++++++++++++++++++ | 63% ~02m 23s
|+++++++++++++++++++++++++++++++++ | 64% ~02m 19s
|+++++++++++++++++++++++++++++++++ | 65% ~02m 15s
|++++++++++++++++++++++++++++++++++ | 66% ~02m 11s
|++++++++++++++++++++++++++++++++++ | 67% ~02m 08s
|+++++++++++++++++++++++++++++++++++ | 68% ~02m 04s
|+++++++++++++++++++++++++++++++++++ | 69% ~01m 60s
|++++++++++++++++++++++++++++++++++++ | 70% ~01m 56s
|++++++++++++++++++++++++++++++++++++ | 71% ~01m 52s
|+++++++++++++++++++++++++++++++++++++ | 72% ~01m 48s
|+++++++++++++++++++++++++++++++++++++ | 73% ~01m 44s
|++++++++++++++++++++++++++++++++++++++ | 74% ~01m 40s
|++++++++++++++++++++++++++++++++++++++ | 76% ~01m 36s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~01m 32s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~01m 28s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~01m 24s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~01m 20s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~01m 16s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~01m 12s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~01m 08s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~01m 04s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~60s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~56s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~52s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~48s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~44s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~40s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~36s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~32s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~28s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~24s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~20s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~16s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~12s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~08s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~04s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed = 06m 28s
| | 0 % ~calculating
|+ | 1 % ~03m 30s
|++ | 2 % ~03m 32s
|++ | 3 % ~03m 31s
|+++ | 4 % ~03m 29s
|+++ | 5 % ~03m 29s
|++++ | 6 % ~03m 26s
|++++ | 7 % ~03m 24s
|+++++ | 8 % ~03m 22s
|+++++ | 9 % ~03m 20s
|++++++ | 10% ~03m 18s
|++++++ | 11% ~03m 17s
|+++++++ | 12% ~03m 15s
|+++++++ | 13% ~03m 13s
|++++++++ | 14% ~03m 11s
|++++++++ | 15% ~03m 08s
|+++++++++ | 16% ~03m 05s
|+++++++++ | 17% ~03m 03s
|++++++++++ | 18% ~03m 01s
|++++++++++ | 19% ~02m 59s
|+++++++++++ | 20% ~02m 57s
|+++++++++++ | 21% ~02m 55s
|++++++++++++ | 22% ~02m 53s
|++++++++++++ | 23% ~02m 50s
|+++++++++++++ | 24% ~02m 48s
|+++++++++++++ | 26% ~02m 46s
|++++++++++++++ | 27% ~02m 44s
|++++++++++++++ | 28% ~02m 42s
|+++++++++++++++ | 29% ~02m 40s
|+++++++++++++++ | 30% ~02m 38s
|++++++++++++++++ | 31% ~02m 35s
|++++++++++++++++ | 32% ~02m 33s
|+++++++++++++++++ | 33% ~02m 31s
|+++++++++++++++++ | 34% ~02m 29s
|++++++++++++++++++ | 35% ~02m 27s
|++++++++++++++++++ | 36% ~02m 24s
|+++++++++++++++++++ | 37% ~02m 22s
|+++++++++++++++++++ | 38% ~02m 20s
|++++++++++++++++++++ | 39% ~02m 18s
|++++++++++++++++++++ | 40% ~02m 16s
|+++++++++++++++++++++ | 41% ~02m 13s
|+++++++++++++++++++++ | 42% ~02m 12s
|++++++++++++++++++++++ | 43% ~02m 10s
|++++++++++++++++++++++ | 44% ~02m 08s
|+++++++++++++++++++++++ | 45% ~02m 05s
|+++++++++++++++++++++++ | 46% ~02m 03s
|++++++++++++++++++++++++ | 47% ~02m 00s
|++++++++++++++++++++++++ | 48% ~01m 58s
|+++++++++++++++++++++++++ | 49% ~01m 56s
|+++++++++++++++++++++++++ | 50% ~01m 54s
|++++++++++++++++++++++++++ | 51% ~01m 51s
|+++++++++++++++++++++++++++ | 52% ~01m 49s
|+++++++++++++++++++++++++++ | 53% ~01m 47s
|++++++++++++++++++++++++++++ | 54% ~01m 45s
|++++++++++++++++++++++++++++ | 55% ~01m 42s
|+++++++++++++++++++++++++++++ | 56% ~01m 40s
|+++++++++++++++++++++++++++++ | 57% ~01m 38s
|++++++++++++++++++++++++++++++ | 58% ~01m 36s
|++++++++++++++++++++++++++++++ | 59% ~01m 33s
|+++++++++++++++++++++++++++++++ | 60% ~01m 32s
|+++++++++++++++++++++++++++++++ | 61% ~01m 30s
|++++++++++++++++++++++++++++++++ | 62% ~01m 27s
|++++++++++++++++++++++++++++++++ | 63% ~01m 25s
|+++++++++++++++++++++++++++++++++ | 64% ~01m 23s
|+++++++++++++++++++++++++++++++++ | 65% ~01m 20s
|++++++++++++++++++++++++++++++++++ | 66% ~01m 18s
|++++++++++++++++++++++++++++++++++ | 67% ~01m 15s
|+++++++++++++++++++++++++++++++++++ | 68% ~01m 13s
|+++++++++++++++++++++++++++++++++++ | 69% ~01m 11s
|++++++++++++++++++++++++++++++++++++ | 70% ~01m 08s
|++++++++++++++++++++++++++++++++++++ | 71% ~01m 06s
|+++++++++++++++++++++++++++++++++++++ | 72% ~01m 04s
|+++++++++++++++++++++++++++++++++++++ | 73% ~01m 01s
|++++++++++++++++++++++++++++++++++++++ | 74% ~59s
|++++++++++++++++++++++++++++++++++++++ | 76% ~56s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~54s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~52s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~49s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~47s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~45s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~42s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~40s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~38s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~35s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~33s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~31s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~28s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~26s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~23s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~21s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~19s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~16s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~14s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~12s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~09s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~07s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~05s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~02s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed = 03m 50s
| | 0 % ~calculating
|+ | 1 % ~07m 58s
|++ | 2 % ~07m 59s
|++ | 3 % ~08m 03s
|+++ | 4 % ~07m 54s
|+++ | 5 % ~07m 49s
|++++ | 6 % ~07m 46s
|++++ | 7 % ~07m 41s
|+++++ | 8 % ~07m 41s
|+++++ | 9 % ~07m 49s
|++++++ | 10% ~07m 42s
|++++++ | 11% ~07m 34s
|+++++++ | 12% ~07m 28s
|+++++++ | 13% ~07m 22s
|++++++++ | 14% ~07m 14s
|++++++++ | 15% ~07m 11s
|+++++++++ | 16% ~07m 05s
|+++++++++ | 17% ~06m 59s
|++++++++++ | 18% ~06m 53s
|++++++++++ | 19% ~06m 47s
|+++++++++++ | 20% ~06m 42s
|+++++++++++ | 21% ~06m 36s
|++++++++++++ | 22% ~06m 31s
|++++++++++++ | 23% ~06m 26s
|+++++++++++++ | 24% ~06m 22s
|+++++++++++++ | 25% ~06m 16s
|++++++++++++++ | 26% ~06m 11s
|++++++++++++++ | 27% ~06m 06s
|+++++++++++++++ | 28% ~06m 01s
|+++++++++++++++ | 29% ~05m 56s
|++++++++++++++++ | 30% ~05m 51s
|++++++++++++++++ | 31% ~05m 45s
|+++++++++++++++++ | 32% ~05m 43s
|+++++++++++++++++ | 33% ~05m 37s
|++++++++++++++++++ | 34% ~05m 31s
|++++++++++++++++++ | 35% ~05m 26s
|+++++++++++++++++++ | 36% ~05m 21s
|+++++++++++++++++++ | 37% ~05m 15s
|++++++++++++++++++++ | 38% ~05m 11s
|++++++++++++++++++++ | 39% ~05m 06s
|+++++++++++++++++++++ | 40% ~05m 00s
|+++++++++++++++++++++ | 41% ~04m 55s
|++++++++++++++++++++++ | 42% ~04m 50s
|++++++++++++++++++++++ | 43% ~04m 45s
|+++++++++++++++++++++++ | 44% ~04m 40s
|+++++++++++++++++++++++ | 45% ~04m 34s
|++++++++++++++++++++++++ | 46% ~04m 29s
|++++++++++++++++++++++++ | 47% ~04m 24s
|+++++++++++++++++++++++++ | 48% ~04m 19s
|+++++++++++++++++++++++++ | 49% ~04m 14s
|++++++++++++++++++++++++++ | 51% ~04m 09s
|++++++++++++++++++++++++++ | 52% ~04m 05s
|+++++++++++++++++++++++++++ | 53% ~04m 00s
|+++++++++++++++++++++++++++ | 54% ~03m 56s
|++++++++++++++++++++++++++++ | 55% ~03m 51s
|++++++++++++++++++++++++++++ | 56% ~03m 46s
|+++++++++++++++++++++++++++++ | 57% ~03m 41s
|+++++++++++++++++++++++++++++ | 58% ~03m 36s
|++++++++++++++++++++++++++++++ | 59% ~03m 31s
|++++++++++++++++++++++++++++++ | 60% ~03m 26s
|+++++++++++++++++++++++++++++++ | 61% ~03m 21s
|+++++++++++++++++++++++++++++++ | 62% ~03m 16s
|++++++++++++++++++++++++++++++++ | 63% ~03m 11s
|++++++++++++++++++++++++++++++++ | 64% ~03m 06s
|+++++++++++++++++++++++++++++++++ | 65% ~03m 01s
|+++++++++++++++++++++++++++++++++ | 66% ~02m 56s
|++++++++++++++++++++++++++++++++++ | 67% ~02m 51s
|++++++++++++++++++++++++++++++++++ | 68% ~02m 46s
|+++++++++++++++++++++++++++++++++++ | 69% ~02m 40s
|+++++++++++++++++++++++++++++++++++ | 70% ~02m 35s
|++++++++++++++++++++++++++++++++++++ | 71% ~02m 30s
|++++++++++++++++++++++++++++++++++++ | 72% ~02m 25s
|+++++++++++++++++++++++++++++++++++++ | 73% ~02m 19s
|+++++++++++++++++++++++++++++++++++++ | 74% ~02m 14s
|++++++++++++++++++++++++++++++++++++++ | 75% ~02m 09s
|++++++++++++++++++++++++++++++++++++++ | 76% ~02m 04s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~01m 59s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~01m 54s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~01m 48s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~01m 43s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~01m 38s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~01m 33s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~01m 28s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~01m 22s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~01m 17s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~01m 12s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~01m 07s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~01m 02s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~57s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~52s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~46s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~41s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~36s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~31s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~26s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~21s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~15s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~10s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~05s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed = 08m 29s
| | 0 % ~calculating
|+ | 1 % ~07m 21s
|+ | 2 % ~07m 14s
|++ | 3 % ~07m 12s
|++ | 4 % ~07m 09s
|+++ | 5 % ~07m 03s
|+++ | 6 % ~07m 01s
|++++ | 7 % ~06m 56s
|++++ | 8 % ~06m 50s
|+++++ | 9 % ~06m 46s
|+++++ | 10% ~06m 58s
|++++++ | 11% ~06m 51s
|++++++ | 12% ~06m 45s
|+++++++ | 13% ~06m 39s
|+++++++ | 14% ~06m 33s
|++++++++ | 15% ~06m 28s
|++++++++ | 16% ~06m 23s
|+++++++++ | 17% ~06m 20s
|+++++++++ | 18% ~06m 14s
|++++++++++ | 19% ~06m 09s
|++++++++++ | 20% ~06m 04s
|+++++++++++ | 21% ~05m 59s
|+++++++++++ | 22% ~05m 55s
|++++++++++++ | 23% ~05m 50s
|++++++++++++ | 24% ~05m 45s
|+++++++++++++ | 25% ~05m 40s
|+++++++++++++ | 26% ~05m 36s
|++++++++++++++ | 27% ~05m 32s
|++++++++++++++ | 28% ~05m 27s
|+++++++++++++++ | 29% ~05m 22s
|+++++++++++++++ | 30% ~05m 18s
|++++++++++++++++ | 31% ~05m 13s
|++++++++++++++++ | 32% ~05m 08s
|+++++++++++++++++ | 33% ~05m 05s
|+++++++++++++++++ | 34% ~05m 00s
|++++++++++++++++++ | 35% ~04m 58s
|++++++++++++++++++ | 36% ~04m 53s
|+++++++++++++++++++ | 37% ~04m 48s
|+++++++++++++++++++ | 38% ~04m 44s
|++++++++++++++++++++ | 39% ~04m 39s
|++++++++++++++++++++ | 40% ~04m 34s
|+++++++++++++++++++++ | 41% ~04m 30s
|+++++++++++++++++++++ | 42% ~04m 25s
|++++++++++++++++++++++ | 43% ~04m 20s
|++++++++++++++++++++++ | 44% ~04m 16s
|+++++++++++++++++++++++ | 45% ~04m 12s
|+++++++++++++++++++++++ | 46% ~04m 09s
|++++++++++++++++++++++++ | 47% ~04m 04s
|++++++++++++++++++++++++ | 48% ~03m 59s
|+++++++++++++++++++++++++ | 49% ~03m 54s
|+++++++++++++++++++++++++ | 50% ~03m 50s
|++++++++++++++++++++++++++ | 51% ~03m 45s
|++++++++++++++++++++++++++ | 52% ~03m 40s
|+++++++++++++++++++++++++++ | 53% ~03m 36s
|+++++++++++++++++++++++++++ | 54% ~03m 31s
|++++++++++++++++++++++++++++ | 55% ~03m 26s
|++++++++++++++++++++++++++++ | 56% ~03m 21s
|+++++++++++++++++++++++++++++ | 57% ~03m 17s
|+++++++++++++++++++++++++++++ | 58% ~03m 12s
|++++++++++++++++++++++++++++++ | 59% ~03m 07s
|++++++++++++++++++++++++++++++ | 60% ~03m 03s
|+++++++++++++++++++++++++++++++ | 61% ~02m 58s
|+++++++++++++++++++++++++++++++ | 62% ~02m 54s
|++++++++++++++++++++++++++++++++ | 63% ~02m 49s
|++++++++++++++++++++++++++++++++ | 64% ~02m 44s
|+++++++++++++++++++++++++++++++++ | 65% ~02m 40s
|+++++++++++++++++++++++++++++++++ | 66% ~02m 35s
|++++++++++++++++++++++++++++++++++ | 67% ~02m 31s
|++++++++++++++++++++++++++++++++++ | 68% ~02m 26s
|+++++++++++++++++++++++++++++++++++ | 69% ~02m 22s
|+++++++++++++++++++++++++++++++++++ | 70% ~02m 17s
|++++++++++++++++++++++++++++++++++++ | 71% ~02m 13s
|++++++++++++++++++++++++++++++++++++ | 72% ~02m 08s
|+++++++++++++++++++++++++++++++++++++ | 73% ~02m 03s
|+++++++++++++++++++++++++++++++++++++ | 74% ~01m 59s
|++++++++++++++++++++++++++++++++++++++ | 75% ~01m 54s
|++++++++++++++++++++++++++++++++++++++ | 76% ~01m 50s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~01m 45s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~01m 41s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~01m 36s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~01m 32s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~01m 27s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~01m 23s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~01m 18s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~01m 14s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~01m 09s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~01m 04s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~60s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~55s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~50s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~46s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~41s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~37s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~32s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~27s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~23s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~18s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~14s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~09s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~05s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed = 07m 35s
| | 0 % ~calculating
|+ | 1 % ~05m 36s
|++ | 2 % ~05m 41s
|++ | 3 % ~05m 31s
|+++ | 4 % ~05m 24s
|+++ | 5 % ~05m 17s
|++++ | 6 % ~05m 16s
|++++ | 7 % ~05m 11s
|+++++ | 8 % ~05m 07s
|+++++ | 9 % ~05m 20s
|++++++ | 10% ~05m 14s
|++++++ | 11% ~05m 10s
|+++++++ | 12% ~05m 05s
|+++++++ | 13% ~04m 60s
|++++++++ | 14% ~04m 55s
|++++++++ | 15% ~04m 51s
|+++++++++ | 16% ~04m 46s
|+++++++++ | 17% ~04m 43s
|++++++++++ | 18% ~04m 39s
|++++++++++ | 19% ~04m 34s
|+++++++++++ | 20% ~04m 30s
|+++++++++++ | 21% ~04m 26s
|++++++++++++ | 22% ~04m 23s
|++++++++++++ | 23% ~04m 19s
|+++++++++++++ | 24% ~04m 17s
|+++++++++++++ | 25% ~04m 13s
|++++++++++++++ | 26% ~04m 10s
|++++++++++++++ | 27% ~04m 06s
|+++++++++++++++ | 28% ~04m 03s
|+++++++++++++++ | 29% ~03m 59s
|++++++++++++++++ | 30% ~03m 56s
|++++++++++++++++ | 31% ~03m 52s
|+++++++++++++++++ | 32% ~03m 49s
|+++++++++++++++++ | 33% ~03m 45s
|++++++++++++++++++ | 34% ~03m 42s
|++++++++++++++++++ | 35% ~03m 38s
|+++++++++++++++++++ | 36% ~03m 35s
|+++++++++++++++++++ | 37% ~03m 32s
|++++++++++++++++++++ | 38% ~03m 28s
|++++++++++++++++++++ | 39% ~03m 24s
|+++++++++++++++++++++ | 40% ~03m 23s
|+++++++++++++++++++++ | 41% ~03m 19s
|++++++++++++++++++++++ | 42% ~03m 16s
|++++++++++++++++++++++ | 43% ~03m 12s
|+++++++++++++++++++++++ | 44% ~03m 09s
|+++++++++++++++++++++++ | 45% ~03m 05s
|++++++++++++++++++++++++ | 46% ~03m 02s
|++++++++++++++++++++++++ | 47% ~02m 58s
|+++++++++++++++++++++++++ | 48% ~02m 55s
|+++++++++++++++++++++++++ | 49% ~02m 51s
|++++++++++++++++++++++++++ | 51% ~02m 48s
|++++++++++++++++++++++++++ | 52% ~02m 45s
|+++++++++++++++++++++++++++ | 53% ~02m 41s
|+++++++++++++++++++++++++++ | 54% ~02m 38s
|++++++++++++++++++++++++++++ | 55% ~02m 35s
|++++++++++++++++++++++++++++ | 56% ~02m 32s
|+++++++++++++++++++++++++++++ | 57% ~02m 28s
|+++++++++++++++++++++++++++++ | 58% ~02m 25s
|++++++++++++++++++++++++++++++ | 59% ~02m 21s
|++++++++++++++++++++++++++++++ | 60% ~02m 17s
|+++++++++++++++++++++++++++++++ | 61% ~02m 14s
|+++++++++++++++++++++++++++++++ | 62% ~02m 10s
|++++++++++++++++++++++++++++++++ | 63% ~02m 07s
|++++++++++++++++++++++++++++++++ | 64% ~02m 03s
|+++++++++++++++++++++++++++++++++ | 65% ~01m 60s
|+++++++++++++++++++++++++++++++++ | 66% ~01m 56s
|++++++++++++++++++++++++++++++++++ | 67% ~01m 53s
|++++++++++++++++++++++++++++++++++ | 68% ~01m 50s
|+++++++++++++++++++++++++++++++++++ | 69% ~01m 46s
|+++++++++++++++++++++++++++++++++++ | 70% ~01m 43s
|++++++++++++++++++++++++++++++++++++ | 71% ~01m 39s
|++++++++++++++++++++++++++++++++++++ | 72% ~01m 36s
|+++++++++++++++++++++++++++++++++++++ | 73% ~01m 32s
|+++++++++++++++++++++++++++++++++++++ | 74% ~01m 29s
|++++++++++++++++++++++++++++++++++++++ | 75% ~01m 26s
|++++++++++++++++++++++++++++++++++++++ | 76% ~01m 22s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~01m 19s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~01m 16s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~01m 12s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~01m 09s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~01m 05s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~01m 02s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~59s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~55s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~52s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~48s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~45s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~41s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~38s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~35s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~31s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~28s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~24s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~21s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~17s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~14s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~10s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~07s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~03s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed = 05m 38s
head(tiss.markers)
Display the top markers you computed above.
tiss.markers %>% group_by(cluster) %>% top_n(5, avg_logFC)
At a coarse level, we can use canonical markers to match the unbiased clustering to known cell types:
0: alpha 1: beta 2: beta 3: exocrine 4: duct 5: delta 6: gamma 7: endothelial 8: immune 9: stellate
# stash current cluster IDs
tiss <- StashIdent(object = tiss, save.name = "cluster.ids")
# enumerate current cluster IDs and the labels for them
cluster.ids <- c(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
free_annotation <- c()
cell_ontology_class <-c("naive B", "hematopoietic precursor", "pre-B", "hematopoietic oligopotent progenitor", "granulocyte", "neutrophil", "immature B", "monocyte", "late pro-B", "pro T_NKT", "neutrophil progenitor", "hematopoietic precursor", "CD4-positive helper T")
cell_ontology_id <- c("CL:0000788", "CL:0008001", "CL:0000817", "CL:0000837", "CL:0000094", "CL:0000775", "CL:0000816", "CL:0000576", "CL:0002048", NA, "CL:0000834", "CL:0008001", "CL:0000492")
tiss@meta.data[,'free_annotation'] <- NA
tiss@meta.data[,'cell_ontology_class'] <- plyr::mapvalues(x = tiss@ident, from = cluster.ids, to = cell_ontology_class)
tiss@meta.data[,'cell_ontology_id'] <- plyr::mapvalues(x = tiss@ident, from = cluster.ids, to = cell_ontology_id)
tiss@meta.data[tiss@cell.names,'cell_ontology_class'] <- as.character(tiss@meta.data$cell_ontology_class)
tiss@meta.data[tiss@cell.names,'cell_ontology_id'] <- as.character(tiss@meta.data$cell_ontology_id)
TSNEPlot(object = tiss, do.label = TRUE, pt.size = 0.5, group.by='cell_ontology_class')
Color by metadata, like plate barcode, to check for batch effects.
TSNEPlot(object = tiss, do.return = TRUE, group.by = "plate.barcode")
Print a table showing the count of cells in each identity category from each plate.
table(as.character(tiss@ident), as.character(tiss@meta.data$plate.barcode))
D041912 D042044 D042193 D042467 D042479 D045139 D045140 MAA000409 MAA000596 MAA000600 MAA000639 MAA000652
0 76 52 55 41 54 0 1 3 0 36 61 24
1 0 0 1 0 0 0 95 181 73 0 0 119
10 0 33 34 1 0 23 36 0 20 29 2 1
11 0 0 0 0 0 0 0 1 3 0 0 7
12 29 5 2 0 15 0 0 0 0 25 17 4
2 46 24 21 24 59 0 0 0 0 76 82 23
3 0 2 2 0 0 0 65 73 33 0 0 86
4 2 30 41 2 1 56 78 0 36 28 4 1
5 0 44 32 2 0 32 45 0 62 54 0 2
6 39 21 29 19 32 0 1 0 0 28 44 10
7 1 28 31 2 3 24 26 0 25 21 4 4
8 76 14 5 2 81 0 0 0 0 31 14 3
9 0 44 46 36 3 1 0 0 0 0 43 24
MAA000844 MAA000848 MAA001842 MAA001844 MAA001883 MAA001884 MAA001887 MAA001888
0 0 0 38 5 37 166 3 27
1 80 1 0 5 0 0 116 0
10 14 10 0 3 0 0 1 0
11 1 2 0 165 0 0 7 1
12 0 0 0 0 26 37 0 12
2 0 0 3 0 103 50 0 3
3 56 0 0 25 0 0 93 3
4 29 83 0 0 0 0 0 0
5 37 59 0 0 0 0 0 0
6 0 0 6 2 47 70 3 7
7 43 60 3 28 0 1 17 8
8 0 0 1 1 33 22 8 1
9 3 1 4 3 2 2 1 77
We can repeat the above analysis on a subset of cells, defined using cluster IDs or some other metadata. This is a good way to drill down and find substructure.
# Subset data based on cluster id
subtiss9 <- SubsetData(object = tiss, ident.use = c(9), do.center = F, do.scale = F, cells.use = )
# To subset data based on cell_ontology_class or other metadata, you can explicitly pass cell names
# anno = 'exocrine cells'
# cells.to.use = tiss@cell.names[which(tiss@meta.data$cell_ontology_class == anno)]
# subtiss9 <- SubsetData(object = tiss, cells.use = cells.to.use, do.center = F, do.scale = F)
subtiss9 <- NormalizeData(object = subtiss9)
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
subtiss9 <- ScaleData(object = subtiss9, vars.to.regress = c("nReads", "percent.ribo","Rn45s"))
[1] "Regressing out nReads" "Regressing out percent.ribo" "Regressing out Rn45s"
|
| | 0%
|
|= | 1%
|
|== | 2%
|
|=== | 3%
|
|==== | 3%
|
|==== | 4%
|
|===== | 5%
|
|====== | 5%
|
|====== | 6%
|
|======= | 6%
|
|======= | 7%
|
|======== | 7%
|
|========= | 8%
|
|========= | 9%
|
|========== | 9%
|
|========== | 10%
|
|=========== | 10%
|
|============ | 11%
|
|============= | 12%
|
|============== | 13%
|
|=============== | 14%
|
|================ | 15%
|
|================= | 15%
|
|================= | 16%
|
|================== | 17%
|
|=================== | 17%
|
|=================== | 18%
|
|==================== | 18%
|
|==================== | 19%
|
|===================== | 19%
|
|====================== | 20%
|
|====================== | 21%
|
|======================= | 21%
|
|======================= | 22%
|
|======================== | 22%
|
|========================= | 23%
|
|========================== | 24%
|
|=========================== | 25%
|
|============================ | 26%
|
|============================= | 27%
|
|============================== | 27%
|
|============================== | 28%
|
|=============================== | 29%
|
|================================ | 30%
|
|================================= | 30%
|
|================================= | 31%
|
|================================== | 31%
|
|=================================== | 32%
|
|=================================== | 33%
|
|==================================== | 33%
|
|==================================== | 34%
|
|===================================== | 34%
|
|====================================== | 35%
|
|======================================= | 36%
|
|======================================= | 37%
|
|======================================== | 37%
|
|========================================= | 38%
|
|========================================== | 39%
|
|=========================================== | 39%
|
|=========================================== | 40%
|
|============================================ | 41%
|
|============================================= | 42%
|
|============================================== | 42%
|
|============================================== | 43%
|
|=============================================== | 43%
|
|================================================ | 44%
|
|================================================ | 45%
|
|================================================= | 45%
|
|================================================= | 46%
|
|================================================== | 46%
|
|=================================================== | 47%
|
|==================================================== | 48%
|
|==================================================== | 49%
|
|===================================================== | 49%
|
|====================================================== | 50%
|
|======================================================= | 51%
|
|======================================================== | 51%
|
|======================================================== | 52%
|
|========================================================= | 53%
|
|========================================================== | 54%
|
|=========================================================== | 54%
|
|=========================================================== | 55%
|
|============================================================ | 55%
|
|============================================================ | 56%
|
|============================================================= | 57%
|
|============================================================== | 57%
|
|============================================================== | 58%
|
|=============================================================== | 58%
|
|================================================================ | 59%
|
|================================================================= | 60%
|
|================================================================= | 61%
|
|================================================================== | 61%
|
|=================================================================== | 62%
|
|==================================================================== | 63%
|
|===================================================================== | 63%
|
|===================================================================== | 64%
|
|====================================================================== | 65%
|
|======================================================================= | 66%
|
|======================================================================== | 66%
|
|======================================================================== | 67%
|
|========================================================================= | 67%
|
|========================================================================= | 68%
|
|========================================================================== | 69%
|
|=========================================================================== | 69%
|
|=========================================================================== | 70%
|
|============================================================================ | 70%
|
|============================================================================= | 71%
|
|============================================================================== | 72%
|
|============================================================================== | 73%
|
|=============================================================================== | 73%
|
|================================================================================ | 74%
|
|================================================================================= | 75%
|
|================================================================================== | 76%
|
|=================================================================================== | 77%
|
|==================================================================================== | 78%
|
|===================================================================================== | 78%
|
|===================================================================================== | 79%
|
|====================================================================================== | 79%
|
|====================================================================================== | 80%
|
|======================================================================================= | 81%
|
|======================================================================================== | 81%
|
|======================================================================================== | 82%
|
|========================================================================================= | 82%
|
|========================================================================================= | 83%
|
|========================================================================================== | 83%
|
|=========================================================================================== | 84%
|
|=========================================================================================== | 85%
|
|============================================================================================ | 85%
|
|============================================================================================= | 86%
|
|============================================================================================== | 87%
|
|=============================================================================================== | 88%
|
|================================================================================================ | 89%
|
|================================================================================================= | 90%
|
|================================================================================================== | 90%
|
|================================================================================================== | 91%
|
|=================================================================================================== | 91%
|
|=================================================================================================== | 92%
|
|==================================================================================================== | 93%
|
|===================================================================================================== | 93%
|
|===================================================================================================== | 94%
|
|====================================================================================================== | 94%
|
|====================================================================================================== | 95%
|
|======================================================================================================= | 95%
|
|======================================================================================================== | 96%
|
|======================================================================================================== | 97%
|
|========================================================================================================= | 97%
|
|========================================================================================================== | 98%
|
|=========================================================================================================== | 99%
|
|============================================================================================================| 100%
[1] "Scaling data matrix"
|
| | 0%
|
|============================================================================================================| 100%
subtiss9 <- FindVariableGenes(object = subtiss9, do.plot = TRUE, x.high.cutoff = Inf, y.cutoff = 0.8)
Calculating gene means
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating gene variance to mean ratios
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
subtiss9 <- RunPCA(object = subtiss9, pcs.compute = 20)
[1] "PC1"
[1] "Serpinb9" "Ncr1" "Nkg7" "Gzma" "Klrb1c" "Klrk1" "Prf1" "Eomes" "Klri2"
[10] "Id2" "Klrb1a" "Ccl5" "Ctla2a" "Serpinb6b" "Car2" "Ccr5" "Txk" "Klra8"
[19] "Serpina3g" "Ifngr1" "Fasl" "Xcl1" "Tmem37" "Gem" "Klra9" "Ccr2" "Tigit"
[28] "Cenpf" "Gzmb" "Klra7"
[1] ""
[1] "Cd63" "Gata2" "Alox5ap" "Csf2rb" "Cd200r3" "Hdc" "Cyp11a1" "Cebpa" "Ms4a2" "Fcer1a" "Ccr1"
[12] "Cyp4f18" "Cpa3" "Emilin2" "Alox5" "Ptplad2" "Gpr97" "Mcpt8" "Alox15" "Itga2b" "Slc41a3" "Ccl9"
[23] "Ifitm1" "Stx3" "Ncf2" "Gp49a" "Cxcr2" "Cdh1" "Nfam1" "Ncf1"
[1] ""
[1] ""
[1] "PC2"
[1] "Cd74" "Malat1" "Cd79a" "Ctla4" "Ly6d" "Cd79b" "H2-Ab1" "H2-Aa" "Cd19" "H2-Eb1"
[11] "Foxp3" "Ms4a1" "Spib" "Faim3" "Fcrla" "H2-DMb2" "Ifi27l2a" "Cpm" "Sdc4" "Pou2af1"
[21] "Il7r" "Cd4" "Ly6a" "Tnfrsf4" "Bank1" "H2-Ob" "Cd81" "Siglecg" "Cd5" "Fcrl1"
[1] ""
[1] "Tyrobp" "Top2a" "Anxa2" "Ccna2" "2810417H13Rik" "Stmn1" "Birc5"
[8] "Mki67" "Cdk1" "Hmgb2" "Tpx2" "Kif11" "Aurkb" "Tacc3"
[15] "Cdca8" "Hist1h2ab" "Spc25" "Hist1h2ae" "Nkg7" "Cdca3" "Rrm2"
[22] "Tk1" "Plk1" "Ccnb2" "Asf1b" "Car2" "Klri2" "Gzma"
[29] "Cenpf" "Kif22"
[1] ""
[1] ""
[1] "PC3"
[1] "Ccna2" "Top2a" "2810417H13Rik" "Mki67" "Rrm2" "Cdca3" "Tpx2"
[8] "Birc5" "Cdk1" "Cdca8" "Aurkb" "Kif11" "Plk1" "Kif22"
[15] "Hist1h2ab" "Hist1h2ae" "Stmn1" "Bub1b" "Spc25" "Ccnb2" "Cdc45"
[22] "Tk1" "Uhrf1" "Asf1b" "Tacc3" "Tubb5" "Ube2c" "Cenpe"
[29] "Kif20a" "Ccnb1"
[1] ""
[1] "Ccl5" "Tyrobp" "Klrb1c" "Nkg7" "Id2" "Prf1" "Ncr1" "Klrk1" "Anxa2" "Gzma"
[11] "Klra8" "Ctla2a" "Xcl1" "Serpinb9" "Gzmb" "Fasl" "Cd7" "S1pr5" "Klra18" "Itgam"
[21] "Ifngr1" "Bhlhe40" "Anxa1" "Cma1" "Plek" "Styk1" "F2rl2" "Eomes" "Ccr2" "Ccl4"
[1] ""
[1] ""
[1] "PC4"
[1] "Ly6d" "Cd79a" "H2-Aa" "H2-DMb2" "H2-Ab1" "Faim3" "Cd19" "H2-Eb1" "Cd79b"
[10] "Cd74" "Ms4a1" "Ly86" "Spib" "Tnfrsf13c" "Fcrla" "Pou2af1" "Bank1" "Siglecg"
[19] "Fcrl1" "Unc93b1" "Blnk" "Fcer2a" "Irf8" "Vpreb3" "Ebf1" "Cd24a" "Cd55"
[28] "H2-Ob" "Cd22" "Ctsh"
[1] ""
[1] "Cd5" "Folr4" "Cd6" "Il7r" "Inpp4b" "Il2ra" "Ctla4" "Cd8b1" "Il6ra" "Cd4" "Dgka"
[12] "Cish" "Ikzf2" "Foxp3" "Tnfrsf4" "Ddb2" "Cd8a" "Fam129a" "Nrp1" "Klk8" "Fam46c" "Gbp2"
[23] "Il6st" "Sit1" "Tcf7" "Art2b" "Als2cl" "Ski" "Ldhb" "Ecm1"
[1] ""
[1] ""
[1] "PC5"
[1] "Gstm1" "Lat2" "Gtf2i" "Add3" "Emilin2" "Sesn1" "Ccl3" "Rfx7" "Cdh1" "Cd200r3" "Fcer1a"
[12] "Gns" "Ip6k1" "Gata2" "Il17ra" "Cyp11a1" "Ccl9" "Mcpt8" "Il10ra" "Ms4a2" "Tcf7" "Invs"
[23] "Cpa3" "Eif2s3y" "Itga2b" "Alox15" "Npl" "Ifitm1" "P2ry1" "Pafah2"
[1] ""
[1] "Chi3l1" "1100001G20Rik" "Cd177" "Hp" "Lyz2" "S100a8" "S100a9"
[8] "Lcn2" "Ifitm6" "Chi3l3" "Ngp" "Camp" "Ltf" "Plbd1"
[15] "Retnlg" "Mmp9" "Gda" "Cybb" "Ifitm3" "Adpgk" "Hck"
[22] "C5ar1" "Glrx" "Cd24a" "Slpi" "Rnf144a" "Dstn" "Ncf1"
[29] "Adam8" "Ly6c2"
[1] ""
[1] ""
subtiss9 <- ProjectPCA(object = subtiss9, do.print = FALSE)
Run Principal Component Analysis.
subtiss9 <- RunPCA(object = subtiss9, do.print = FALSE)
subtiss9 <- ProjectPCA(object = subtiss9, do.print = FALSE)
# If this fails for your subset, it may be that cells.use is more cells than you have left! Try reducing it.
PCHeatmap(object = subtiss9, pc.use = 1:3, cells.use = 250, do.balanced = TRUE, label.columns = FALSE, num.genes = 12)
Later on (in FindClusters and TSNE) you will pick a number of principal components to use. This has the effect of keeping the major directions of variation in the data and, ideally, supressing noise. There is no correct answer to the number to use, but a decent rule of thumb is to go until the plot plateaus.
PCElbowPlot(object = subtiss9)
Choose the number of principal components to use.
# Set number of principal components.
sub9.n.pcs = 5
The clustering is performed based on a nearest neighbors graph. Cells that have similar expression will be joined together. The Louvain algorithm looks for groups of cells with high modularity–more connections within the group than between groups. The resolution parameter determines the scale…higher resolution will give more clusters, lower resolution will give fewer.
# Set resolution
sub.res.used <- 1
subtiss9 <- FindClusters(object = subtiss9, reduction.type = "pca", dims.use = 1:sub9.n.pcs,
resolution = sub.res.used, print.output = 0, save.SNN = TRUE)
To visualize
# If cells are too spread out, you can raise the perplexity. If you have few cells, try a lower perplexity (but never less than 10).
subtiss9 <- RunTSNE(object = subtiss9, dims.use = 1:sub9.n.pcs, seed.use = 10, perplexity=30)
# note that you can set do.label=T to help label individual clusters
TSNEPlot(object = subtiss9, do.label = T)
subtiss9.markers <- FindAllMarkers(object = subtiss9, only.pos = TRUE, min.pct = 0.25, thresh.use = 0.25)
| | 0 % ~calculating
|+ | 1 % ~05s
|++ | 2 % ~05s
|++ | 3 % ~04s
|+++ | 4 % ~04s
|+++ | 5 % ~04s
|++++ | 6 % ~04s
|++++ | 7 % ~04s
|+++++ | 9 % ~04s
|+++++ | 10% ~04s
|++++++ | 11% ~04s
|++++++ | 12% ~04s
|+++++++ | 13% ~04s
|+++++++ | 14% ~04s
|++++++++ | 15% ~04s
|++++++++ | 16% ~04s
|+++++++++ | 17% ~04s
|++++++++++ | 18% ~04s
|++++++++++ | 19% ~03s
|+++++++++++ | 20% ~03s
|+++++++++++ | 21% ~03s
|++++++++++++ | 22% ~03s
|++++++++++++ | 23% ~03s
|+++++++++++++ | 24% ~03s
|+++++++++++++ | 26% ~03s
|++++++++++++++ | 27% ~03s
|++++++++++++++ | 28% ~03s
|+++++++++++++++ | 29% ~03s
|+++++++++++++++ | 30% ~03s
|++++++++++++++++ | 31% ~03s
|++++++++++++++++ | 32% ~03s
|+++++++++++++++++ | 33% ~03s
|++++++++++++++++++ | 34% ~03s
|++++++++++++++++++ | 35% ~03s
|+++++++++++++++++++ | 36% ~03s
|+++++++++++++++++++ | 37% ~03s
|++++++++++++++++++++ | 38% ~03s
|++++++++++++++++++++ | 39% ~03s
|+++++++++++++++++++++ | 40% ~03s
|+++++++++++++++++++++ | 41% ~03s
|++++++++++++++++++++++ | 43% ~02s
|++++++++++++++++++++++ | 44% ~02s
|+++++++++++++++++++++++ | 45% ~02s
|+++++++++++++++++++++++ | 46% ~02s
|++++++++++++++++++++++++ | 47% ~02s
|++++++++++++++++++++++++ | 48% ~02s
|+++++++++++++++++++++++++ | 49% ~02s
|+++++++++++++++++++++++++ | 50% ~02s
|++++++++++++++++++++++++++ | 51% ~02s
|+++++++++++++++++++++++++++ | 52% ~02s
|+++++++++++++++++++++++++++ | 53% ~02s
|++++++++++++++++++++++++++++ | 54% ~02s
|++++++++++++++++++++++++++++ | 55% ~02s
|+++++++++++++++++++++++++++++ | 56% ~02s
|+++++++++++++++++++++++++++++ | 57% ~02s
|++++++++++++++++++++++++++++++ | 59% ~02s
|++++++++++++++++++++++++++++++ | 60% ~02s
|+++++++++++++++++++++++++++++++ | 61% ~02s
|+++++++++++++++++++++++++++++++ | 62% ~02s
|++++++++++++++++++++++++++++++++ | 63% ~02s
|++++++++++++++++++++++++++++++++ | 64% ~02s
|+++++++++++++++++++++++++++++++++ | 65% ~01s
|+++++++++++++++++++++++++++++++++ | 66% ~01s
|++++++++++++++++++++++++++++++++++ | 67% ~01s
|+++++++++++++++++++++++++++++++++++ | 68% ~01s
|+++++++++++++++++++++++++++++++++++ | 69% ~01s
|++++++++++++++++++++++++++++++++++++ | 70% ~01s
|++++++++++++++++++++++++++++++++++++ | 71% ~01s
|+++++++++++++++++++++++++++++++++++++ | 72% ~01s
|+++++++++++++++++++++++++++++++++++++ | 73% ~01s
|++++++++++++++++++++++++++++++++++++++ | 74% ~01s
|++++++++++++++++++++++++++++++++++++++ | 76% ~01s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~01s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~01s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~01s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~01s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~01s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~01s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~01s
|+++++++++++++++++++++++++++++++++++++++++++ | 84% ~01s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~01s
|++++++++++++++++++++++++++++++++++++++++++++ | 86% ~01s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++ | 88% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++ | 90% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed = 04s
| | 0 % ~calculating
|+ | 1 % ~03s
|++ | 2 % ~04s
|++ | 3 % ~04s
|+++ | 4 % ~04s
|+++ | 5 % ~04s
|++++ | 6 % ~03s
|++++ | 7 % ~03s
|+++++ | 8 % ~03s
|+++++ | 9 % ~03s
|++++++ | 10% ~03s
|++++++ | 11% ~03s
|+++++++ | 12% ~03s
|+++++++ | 13% ~03s
|++++++++ | 14% ~03s
|++++++++ | 15% ~03s
|+++++++++ | 16% ~03s
|+++++++++ | 17% ~03s
|++++++++++ | 18% ~03s
|++++++++++ | 19% ~03s
|+++++++++++ | 20% ~03s
|+++++++++++ | 21% ~03s
|++++++++++++ | 22% ~03s
|++++++++++++ | 23% ~03s
|+++++++++++++ | 24% ~03s
|+++++++++++++ | 26% ~03s
|++++++++++++++ | 27% ~03s
|++++++++++++++ | 28% ~03s
|+++++++++++++++ | 29% ~03s
|+++++++++++++++ | 30% ~03s
|++++++++++++++++ | 31% ~03s
|++++++++++++++++ | 32% ~03s
|+++++++++++++++++ | 33% ~03s
|+++++++++++++++++ | 34% ~03s
|++++++++++++++++++ | 35% ~02s
|++++++++++++++++++ | 36% ~02s
|+++++++++++++++++++ | 37% ~02s
|+++++++++++++++++++ | 38% ~02s
|++++++++++++++++++++ | 39% ~02s
|++++++++++++++++++++ | 40% ~02s
|+++++++++++++++++++++ | 41% ~02s
|+++++++++++++++++++++ | 42% ~02s
|++++++++++++++++++++++ | 43% ~02s
|++++++++++++++++++++++ | 44% ~02s
|+++++++++++++++++++++++ | 45% ~02s
|+++++++++++++++++++++++ | 46% ~02s
|++++++++++++++++++++++++ | 47% ~02s
|++++++++++++++++++++++++ | 48% ~02s
|+++++++++++++++++++++++++ | 49% ~02s
|+++++++++++++++++++++++++ | 50% ~02s
|++++++++++++++++++++++++++ | 51% ~02s
|+++++++++++++++++++++++++++ | 52% ~02s
|+++++++++++++++++++++++++++ | 53% ~02s
|++++++++++++++++++++++++++++ | 54% ~02s
|++++++++++++++++++++++++++++ | 55% ~02s
|+++++++++++++++++++++++++++++ | 56% ~02s
|+++++++++++++++++++++++++++++ | 57% ~02s
|++++++++++++++++++++++++++++++ | 58% ~02s
|++++++++++++++++++++++++++++++ | 59% ~02s
|+++++++++++++++++++++++++++++++ | 60% ~02s
|+++++++++++++++++++++++++++++++ | 61% ~01s
|++++++++++++++++++++++++++++++++ | 62% ~01s
|++++++++++++++++++++++++++++++++ | 63% ~01s
|+++++++++++++++++++++++++++++++++ | 64% ~01s
|+++++++++++++++++++++++++++++++++ | 65% ~01s
|++++++++++++++++++++++++++++++++++ | 66% ~01s
|++++++++++++++++++++++++++++++++++ | 67% ~01s
|+++++++++++++++++++++++++++++++++++ | 68% ~01s
|+++++++++++++++++++++++++++++++++++ | 69% ~01s
|++++++++++++++++++++++++++++++++++++ | 70% ~01s
|++++++++++++++++++++++++++++++++++++ | 71% ~01s
|+++++++++++++++++++++++++++++++++++++ | 72% ~01s
|+++++++++++++++++++++++++++++++++++++ | 73% ~01s
|++++++++++++++++++++++++++++++++++++++ | 74% ~01s
|++++++++++++++++++++++++++++++++++++++ | 76% ~01s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~01s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~01s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~01s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~01s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~01s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~01s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~01s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~01s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~01s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~01s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~01s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed = 04s
| | 0 % ~calculating
|+ | 1 % ~05s
|++ | 2 % ~05s
|++ | 3 % ~05s
|+++ | 4 % ~05s
|+++ | 5 % ~05s
|++++ | 7 % ~05s
|++++ | 8 % ~05s
|+++++ | 9 % ~05s
|+++++ | 10% ~05s
|++++++ | 11% ~05s
|+++++++ | 12% ~04s
|+++++++ | 13% ~04s
|++++++++ | 14% ~04s
|++++++++ | 15% ~04s
|+++++++++ | 16% ~04s
|+++++++++ | 18% ~04s
|++++++++++ | 19% ~04s
|++++++++++ | 20% ~04s
|+++++++++++ | 21% ~04s
|+++++++++++ | 22% ~04s
|++++++++++++ | 23% ~04s
|+++++++++++++ | 24% ~04s
|+++++++++++++ | 25% ~04s
|++++++++++++++ | 26% ~04s
|++++++++++++++ | 27% ~04s
|+++++++++++++++ | 29% ~04s
|+++++++++++++++ | 30% ~04s
|++++++++++++++++ | 31% ~03s
|++++++++++++++++ | 32% ~03s
|+++++++++++++++++ | 33% ~03s
|++++++++++++++++++ | 34% ~03s
|++++++++++++++++++ | 35% ~03s
|+++++++++++++++++++ | 36% ~03s
|+++++++++++++++++++ | 37% ~03s
|++++++++++++++++++++ | 38% ~03s
|++++++++++++++++++++ | 40% ~03s
|+++++++++++++++++++++ | 41% ~03s
|+++++++++++++++++++++ | 42% ~03s
|++++++++++++++++++++++ | 43% ~03s
|++++++++++++++++++++++ | 44% ~03s
|+++++++++++++++++++++++ | 45% ~03s
|++++++++++++++++++++++++ | 46% ~03s
|++++++++++++++++++++++++ | 47% ~03s
|+++++++++++++++++++++++++ | 48% ~03s
|+++++++++++++++++++++++++ | 49% ~03s
|++++++++++++++++++++++++++ | 51% ~03s
|++++++++++++++++++++++++++ | 52% ~02s
|+++++++++++++++++++++++++++ | 53% ~02s
|+++++++++++++++++++++++++++ | 54% ~02s
|++++++++++++++++++++++++++++ | 55% ~02s
|+++++++++++++++++++++++++++++ | 56% ~02s
|+++++++++++++++++++++++++++++ | 57% ~02s
|++++++++++++++++++++++++++++++ | 58% ~02s
|++++++++++++++++++++++++++++++ | 59% ~02s
|+++++++++++++++++++++++++++++++ | 60% ~02s
|+++++++++++++++++++++++++++++++ | 62% ~02s
|++++++++++++++++++++++++++++++++ | 63% ~02s
|++++++++++++++++++++++++++++++++ | 64% ~02s
|+++++++++++++++++++++++++++++++++ | 65% ~02s
|+++++++++++++++++++++++++++++++++ | 66% ~02s
|++++++++++++++++++++++++++++++++++ | 67% ~02s
|+++++++++++++++++++++++++++++++++++ | 68% ~02s
|+++++++++++++++++++++++++++++++++++ | 69% ~02s
|++++++++++++++++++++++++++++++++++++ | 70% ~02s
|++++++++++++++++++++++++++++++++++++ | 71% ~01s
|+++++++++++++++++++++++++++++++++++++ | 73% ~01s
|+++++++++++++++++++++++++++++++++++++ | 74% ~01s
|++++++++++++++++++++++++++++++++++++++ | 75% ~01s
|++++++++++++++++++++++++++++++++++++++ | 76% ~01s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~01s
|++++++++++++++++++++++++++++++++++++++++ | 78% ~01s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~01s
|+++++++++++++++++++++++++++++++++++++++++ | 80% ~01s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~01s
|++++++++++++++++++++++++++++++++++++++++++ | 82% ~01s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~01s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~01s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~01s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~01s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++ | 90% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed = 05s
| | 0 % ~calculating
|+ | 1 % ~05s
|++ | 2 % ~08s
|++ | 3 % ~07s
|+++ | 4 % ~06s
|+++ | 5 % ~06s
|++++ | 6 % ~05s
|++++ | 7 % ~05s
|+++++ | 8 % ~05s
|+++++ | 9 % ~05s
|++++++ | 10% ~05s
|++++++ | 11% ~05s
|+++++++ | 12% ~05s
|+++++++ | 13% ~04s
|++++++++ | 14% ~04s
|++++++++ | 15% ~04s
|+++++++++ | 16% ~04s
|+++++++++ | 17% ~04s
|++++++++++ | 18% ~04s
|++++++++++ | 19% ~04s
|+++++++++++ | 20% ~04s
|+++++++++++ | 21% ~04s
|++++++++++++ | 22% ~04s
|++++++++++++ | 23% ~04s
|+++++++++++++ | 24% ~04s
|+++++++++++++ | 26% ~04s
|++++++++++++++ | 27% ~04s
|++++++++++++++ | 28% ~04s
|+++++++++++++++ | 29% ~04s
|+++++++++++++++ | 30% ~04s
|++++++++++++++++ | 31% ~04s
|++++++++++++++++ | 32% ~04s
|+++++++++++++++++ | 33% ~03s
|+++++++++++++++++ | 34% ~03s
|++++++++++++++++++ | 35% ~03s
|++++++++++++++++++ | 36% ~03s
|+++++++++++++++++++ | 37% ~03s
|+++++++++++++++++++ | 38% ~03s
|++++++++++++++++++++ | 39% ~03s
|++++++++++++++++++++ | 40% ~03s
|+++++++++++++++++++++ | 41% ~03s
|+++++++++++++++++++++ | 42% ~03s
|++++++++++++++++++++++ | 43% ~03s
|++++++++++++++++++++++ | 44% ~03s
|+++++++++++++++++++++++ | 45% ~03s
|+++++++++++++++++++++++ | 46% ~03s
|++++++++++++++++++++++++ | 47% ~03s
|++++++++++++++++++++++++ | 48% ~03s
|+++++++++++++++++++++++++ | 49% ~03s
|+++++++++++++++++++++++++ | 50% ~03s
|++++++++++++++++++++++++++ | 51% ~03s
|+++++++++++++++++++++++++++ | 52% ~03s
|+++++++++++++++++++++++++++ | 53% ~02s
|++++++++++++++++++++++++++++ | 54% ~02s
|++++++++++++++++++++++++++++ | 55% ~02s
|+++++++++++++++++++++++++++++ | 56% ~02s
|+++++++++++++++++++++++++++++ | 57% ~02s
|++++++++++++++++++++++++++++++ | 58% ~02s
|++++++++++++++++++++++++++++++ | 59% ~02s
|+++++++++++++++++++++++++++++++ | 60% ~02s
|+++++++++++++++++++++++++++++++ | 61% ~02s
|++++++++++++++++++++++++++++++++ | 62% ~02s
|++++++++++++++++++++++++++++++++ | 63% ~02s
|+++++++++++++++++++++++++++++++++ | 64% ~02s
|+++++++++++++++++++++++++++++++++ | 65% ~02s
|++++++++++++++++++++++++++++++++++ | 66% ~02s
|++++++++++++++++++++++++++++++++++ | 67% ~02s
|+++++++++++++++++++++++++++++++++++ | 68% ~02s
|+++++++++++++++++++++++++++++++++++ | 69% ~02s
|++++++++++++++++++++++++++++++++++++ | 70% ~02s
|++++++++++++++++++++++++++++++++++++ | 71% ~01s
|+++++++++++++++++++++++++++++++++++++ | 72% ~01s
|+++++++++++++++++++++++++++++++++++++ | 73% ~01s
|++++++++++++++++++++++++++++++++++++++ | 74% ~01s
|++++++++++++++++++++++++++++++++++++++ | 76% ~01s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~01s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~01s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~01s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~01s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~01s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~01s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~01s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~01s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~01s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~01s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~01s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed = 05s
| | 0 % ~calculating
|+ | 1 % ~16s
|++ | 2 % ~12s
|++ | 3 % ~11s
|+++ | 4 % ~11s
|+++ | 5 % ~10s
|++++ | 6 % ~10s
|++++ | 7 % ~10s
|+++++ | 8 % ~09s
|+++++ | 9 % ~09s
|++++++ | 10% ~09s
|++++++ | 11% ~09s
|+++++++ | 12% ~09s
|+++++++ | 14% ~09s
|++++++++ | 15% ~09s
|++++++++ | 16% ~08s
|+++++++++ | 17% ~08s
|+++++++++ | 18% ~08s
|++++++++++ | 19% ~08s
|++++++++++ | 20% ~08s
|+++++++++++ | 21% ~08s
|+++++++++++ | 22% ~08s
|++++++++++++ | 23% ~08s
|++++++++++++ | 24% ~08s
|+++++++++++++ | 25% ~08s
|++++++++++++++ | 26% ~07s
|++++++++++++++ | 27% ~07s
|+++++++++++++++ | 28% ~07s
|+++++++++++++++ | 29% ~07s
|++++++++++++++++ | 30% ~07s
|++++++++++++++++ | 31% ~07s
|+++++++++++++++++ | 32% ~07s
|+++++++++++++++++ | 33% ~07s
|++++++++++++++++++ | 34% ~07s
|++++++++++++++++++ | 35% ~06s
|+++++++++++++++++++ | 36% ~06s
|+++++++++++++++++++ | 38% ~06s
|++++++++++++++++++++ | 39% ~06s
|++++++++++++++++++++ | 40% ~06s
|+++++++++++++++++++++ | 41% ~06s
|+++++++++++++++++++++ | 42% ~06s
|++++++++++++++++++++++ | 43% ~06s
|++++++++++++++++++++++ | 44% ~06s
|+++++++++++++++++++++++ | 45% ~06s
|+++++++++++++++++++++++ | 46% ~05s
|++++++++++++++++++++++++ | 47% ~05s
|++++++++++++++++++++++++ | 48% ~05s
|+++++++++++++++++++++++++ | 49% ~05s
|+++++++++++++++++++++++++ | 50% ~05s
|++++++++++++++++++++++++++ | 51% ~05s
|+++++++++++++++++++++++++++ | 52% ~05s
|+++++++++++++++++++++++++++ | 53% ~05s
|++++++++++++++++++++++++++++ | 54% ~05s
|++++++++++++++++++++++++++++ | 55% ~05s
|+++++++++++++++++++++++++++++ | 56% ~04s
|+++++++++++++++++++++++++++++ | 57% ~04s
|++++++++++++++++++++++++++++++ | 58% ~04s
|++++++++++++++++++++++++++++++ | 59% ~04s
|+++++++++++++++++++++++++++++++ | 60% ~04s
|+++++++++++++++++++++++++++++++ | 61% ~04s
|++++++++++++++++++++++++++++++++ | 62% ~04s
|++++++++++++++++++++++++++++++++ | 64% ~04s
|+++++++++++++++++++++++++++++++++ | 65% ~04s
|+++++++++++++++++++++++++++++++++ | 66% ~03s
|++++++++++++++++++++++++++++++++++ | 67% ~03s
|++++++++++++++++++++++++++++++++++ | 68% ~03s
|+++++++++++++++++++++++++++++++++++ | 69% ~03s
|+++++++++++++++++++++++++++++++++++ | 70% ~03s
|++++++++++++++++++++++++++++++++++++ | 71% ~03s
|++++++++++++++++++++++++++++++++++++ | 72% ~03s
|+++++++++++++++++++++++++++++++++++++ | 73% ~03s
|+++++++++++++++++++++++++++++++++++++ | 74% ~03s
|++++++++++++++++++++++++++++++++++++++ | 75% ~03s
|+++++++++++++++++++++++++++++++++++++++ | 76% ~02s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~02s
|++++++++++++++++++++++++++++++++++++++++ | 78% ~02s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~02s
|+++++++++++++++++++++++++++++++++++++++++ | 80% ~02s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~02s
|++++++++++++++++++++++++++++++++++++++++++ | 82% ~02s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~02s
|+++++++++++++++++++++++++++++++++++++++++++ | 84% ~02s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~01s
|++++++++++++++++++++++++++++++++++++++++++++ | 86% ~01s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed = 10s
| | 0 % ~calculating
|+ | 1 % ~11s
|++ | 2 % ~11s
|++ | 3 % ~11s
|+++ | 4 % ~10s
|+++ | 5 % ~10s
|++++ | 6 % ~11s
|++++ | 7 % ~11s
|+++++ | 8 % ~11s
|+++++ | 9 % ~11s
|++++++ | 10% ~10s
|++++++ | 11% ~10s
|+++++++ | 12% ~10s
|+++++++ | 13% ~10s
|++++++++ | 14% ~10s
|++++++++ | 15% ~10s
|+++++++++ | 16% ~09s
|+++++++++ | 17% ~09s
|++++++++++ | 18% ~09s
|++++++++++ | 19% ~09s
|+++++++++++ | 20% ~09s
|+++++++++++ | 21% ~09s
|++++++++++++ | 22% ~09s
|++++++++++++ | 23% ~09s
|+++++++++++++ | 24% ~09s
|+++++++++++++ | 26% ~09s
|++++++++++++++ | 27% ~09s
|++++++++++++++ | 28% ~09s
|+++++++++++++++ | 29% ~09s
|+++++++++++++++ | 30% ~08s
|++++++++++++++++ | 31% ~08s
|++++++++++++++++ | 32% ~08s
|+++++++++++++++++ | 33% ~08s
|+++++++++++++++++ | 34% ~08s
|++++++++++++++++++ | 35% ~08s
|++++++++++++++++++ | 36% ~08s
|+++++++++++++++++++ | 37% ~07s
|+++++++++++++++++++ | 38% ~07s
|++++++++++++++++++++ | 39% ~07s
|++++++++++++++++++++ | 40% ~07s
|+++++++++++++++++++++ | 41% ~07s
|+++++++++++++++++++++ | 42% ~07s
|++++++++++++++++++++++ | 43% ~07s
|++++++++++++++++++++++ | 44% ~07s
|+++++++++++++++++++++++ | 45% ~07s
|+++++++++++++++++++++++ | 46% ~06s
|++++++++++++++++++++++++ | 47% ~06s
|++++++++++++++++++++++++ | 48% ~06s
|+++++++++++++++++++++++++ | 49% ~06s
|+++++++++++++++++++++++++ | 50% ~06s
|++++++++++++++++++++++++++ | 51% ~06s
|+++++++++++++++++++++++++++ | 52% ~06s
|+++++++++++++++++++++++++++ | 53% ~05s
|++++++++++++++++++++++++++++ | 54% ~05s
|++++++++++++++++++++++++++++ | 55% ~05s
|+++++++++++++++++++++++++++++ | 56% ~05s
|+++++++++++++++++++++++++++++ | 57% ~05s
|++++++++++++++++++++++++++++++ | 58% ~05s
|++++++++++++++++++++++++++++++ | 59% ~05s
|+++++++++++++++++++++++++++++++ | 60% ~05s
|+++++++++++++++++++++++++++++++ | 61% ~05s
|++++++++++++++++++++++++++++++++ | 62% ~04s
|++++++++++++++++++++++++++++++++ | 63% ~04s
|+++++++++++++++++++++++++++++++++ | 64% ~04s
|+++++++++++++++++++++++++++++++++ | 65% ~04s
|++++++++++++++++++++++++++++++++++ | 66% ~04s
|++++++++++++++++++++++++++++++++++ | 67% ~04s
|+++++++++++++++++++++++++++++++++++ | 68% ~04s
|+++++++++++++++++++++++++++++++++++ | 69% ~04s
|++++++++++++++++++++++++++++++++++++ | 70% ~03s
|++++++++++++++++++++++++++++++++++++ | 71% ~03s
|+++++++++++++++++++++++++++++++++++++ | 72% ~03s
|+++++++++++++++++++++++++++++++++++++ | 73% ~03s
|++++++++++++++++++++++++++++++++++++++ | 74% ~03s
|++++++++++++++++++++++++++++++++++++++ | 76% ~03s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~03s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~03s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~03s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~02s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~02s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~02s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~02s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~02s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~02s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~02s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~02s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed = 12s
subtiss9.markers %>% group_by(cluster) %>% top_n(6, avg_logFC)
Check expression of genes of interset.
Dotplots let you see the intensity of exppression and the fraction of cells expressing for each of your genes of interest.
How big are the clusters?
table(subtiss9@ident)
0 1 2 3 4 5
79 78 59 37 19 18
Color by metadata, like plate barcode, to check for batch effects.
TSNEPlot(object = subtiss9, do.return = TRUE, group.by = "plate.barcode")
Print a table showing the count of cells in each identity category from each plate.
table(as.character(subtiss9@ident), as.character(subtiss9@meta.data$plate.barcode))
D042044 D042193 D042467 D042479 D045139 MAA000639 MAA000652 MAA000844 MAA000848 MAA001842 MAA001844 MAA001883
0 19 11 11 0 0 8 6 1 1 3 0 1
1 7 5 7 1 0 14 10 0 0 1 2 1
2 8 14 9 0 0 13 4 0 0 0 0 0
3 6 8 6 1 0 2 3 0 0 0 1 0
4 1 4 2 1 0 4 0 0 0 0 0 0
5 3 4 1 0 1 2 1 2 0 0 0 0
MAA001884 MAA001887 MAA001888
0 0 0 18
1 0 1 29
2 0 0 11
3 2 0 8
4 0 0 7
5 0 0 4
For the subsets, we produce subcell_ontology_classs. These will be written back as metadata in the original object, so we can see all subcell_ontology_classs together.
If some of the clusters you find in the subset deserve additional cell_ontology_class, you can add that right here. Use NA for clusters for which no subcell_ontology_class is needed.
subcluster.ids <- c(0, 1, 2, 3, 4, 5)
subcell_ontology_class <-
c("natural killer cell",
"pro-T cell",
"pro-T cell",
"immature B cell",
"immature natural killer cell",
"immature NK T cell")
cell_ontology_id = c("CL:0000623",
"CL:0000827",
"CL:0000827",
"CL:0000816",
"CL:0000823",
"CL:0000914")
subtiss9@meta.data[,'cell_ontology_class'] <- plyr::mapvalues(x = subtiss9@ident, from = subcluster.ids, to = subcell_ontology_class)
subtiss9@meta.data[,'cell_ontology_id'] <- plyr::mapvalues(x = subtiss9@ident, from = subcluster.ids, to = cell_ontology_id)
tiss@meta.data[subtiss9@cell.names,'cell_ontology_class'] <- as.character(subtiss9@meta.data$cell_ontology_class)
invalid factor level, NA generated
tiss@meta.data[subtiss9@cell.names,'cell_ontology_id'] <- as.character(subtiss9@meta.data$cell_ontology_id)
invalid factor level, NA generated
TSNEPlot(object = subtiss9, do.label = TRUE, pt.size = 0.5, group.by='cell_ontology_class')
When you save the subtissue, please give it a name.
subtiss9.name = 'Nk_T_cells'
save(subtiss9, file=paste0(save_dir,"/",subtiss9.name, "_seurat_subtiss9.Robj"))
So that Biohub can easily combine all your cell_ontology_classs, please export them as a simple csv.
write.csv(tiss@meta.data[,c('plate.barcode','cell_ontology_class','subcell_ontology_class')],file =paste0(save_dir,"/", tissue_of_interest,"_cell_ontology_class.csv"))